Commit graph

3921 commits

Author SHA1 Message Date
Wim Taymans
bc4238f959 videoconvert: use one matrix function
Use only one matrix function pointer, let the implementation cast the pixels to
the right size.
2013-03-30 19:14:40 +01:00
Wim Taymans
43a9bfae78 videoconvert: use one temp array for lines
Use only one temporary array for pixels.
2013-03-30 19:14:40 +01:00
Sebastian Dröge
3475d4f457 decodebin: Remove GstdecodePads that are not going to be exposed
This makes sure that they're unlnked and don't cause any errors or
block the pipeline.
2013-03-30 17:17:04 +01:00
Sebastian Dröge
7f78f7f9e3 playbin: Ignore caps from audio/video sink factories if there are fixed sinks already 2013-03-30 12:15:38 +01:00
Sebastian Dröge
57a0806b3a playbin: Handle caps queries from unlinked elements
Pass them to all possible sinks and the current sinks to
allow elements to chose a more optimal initial caps.
2013-03-30 11:49:42 +01:00
Sebastian Dröge
0932391d3f decodebin: Add autoplug-query signal to handle queries for yet unconnected elements
This allows playbin to answer the CAPS query with the possible sink
caps for example, and allows decoders to chose more optimal caps.
2013-03-30 11:49:42 +01:00
Sebastian Dröge
9ce0818c7d decodebin: Don't add a children to a decode group twice
This can happen if a demuxer does not provide fixed caps from the
beginning but only sets them later.
2013-03-30 11:49:42 +01:00
Stefan Sauer
fbf2647f3e audiotestsrc: fix a comment typo from previous commit 2013-03-29 17:16:17 +01:00
Stefan Sauer
f68c95ebaa audiotestssrc: truncate the seek pos to the sample and round the time
Before it was done the other way around and that can trigger the assert that
already is in place. This also makes more sense; when seeking to time x, we want
then sample that is <= that pos.
2013-03-29 16:46:14 +01:00
Wim Taymans
701ae2f144 videoconvert: respect the pack_lines when packing
Packing is supposed to happen on the amount of lines specified in the format
info. It's currently all set to 1 but that will change.
2013-03-28 18:16:09 +01:00
Wim Taymans
33a54ba4f3 videoconvert: be smarter when selecting a conversion
Try to select the conversion that would result in the minimal amount of quality
loss. Quality loss is calculated rather arbitrarily but it avoids doing
something really stupid in most cases.
2013-03-28 18:15:24 +01:00
Wim Taymans
3532323817 videoconvert: small cleanup 2013-03-28 18:15:24 +01:00
Stefan Sauer
f19acfc60b uridecodebin: remove commented code
This is dead since ~6 years.
2013-03-28 12:36:51 +01:00
Stefan Sauer
8c390fe80a audiotestsrc: simplify the caps
Drop channel-mask as we only do mon/stereo and channel-mask is optional in these
cases.
2013-03-25 16:47:02 +01:00
Simon Berg
f18d2a5a9a audiotestsrc: fix rounding errors that might cause segments to be one sample too short
https://bugzilla.gnome.org/show_bug.cgi?id=676884
2013-03-24 20:53:05 +00:00
Simon Berg
d8b42e993b audiotestsrc: fix buffer size of last buffer
The last buffer before EOS may be smaller than the maximum
size. The current code doesn't adjust for this, it only sets
the duration and offsets.

https://bugzilla.gnome.org/show_bug.cgi?id=696411
2013-03-24 20:53:05 +00:00
Wim Taymans
a092cbee5e videoconvert: avoid double free
Set variable to NULL after free so that we don't free twice.
2013-03-24 00:38:22 +01:00
Wim Taymans
b1950b6409 Revert "videoconvert: prevent bad interlaced conversions"
This reverts commit adc9694ed7.

No need to restrict the conversion, we can handle interlace correctly. We
basically unpack each field, then convert each field to the target colorspace
and pack and interleave each field to the target format. We also disable any
fast path that can't deal with interlaced formats.
2013-03-24 00:21:36 +01:00
David Schleef
adc9694ed7 videoconvert: prevent bad interlaced conversions
Don't allow conversion that changes vertical subsampling if video
is interlaced.
2013-03-22 17:24:43 -07:00
Arnaud Vrac
4816885ce3 subparse: fix off by one offset calculation
Do not use the buffer start offset when it is invalid, otherwise a
discontinuity is detected on the next buffer, and the subtitle parser
reset and some subtitle lines are not shown.

Also remove unused next_offset field.

https://bugzilla.gnome.org/show_bug.cgi?id=693981
2013-03-22 11:09:11 +00:00
Tim-Philipp Müller
c7855b5505 typefinding: fix y4m caps
We need to specify the y4mversion field now.

https://bugzilla.gnome.org/show_bug.cgi?id=696282
2013-03-22 09:35:21 +00:00
Sebastian Dröge
383f58b0ed subtitleoverlay: Return ANY caps for the GET_CAPS query
subtitleoverlay handles any caps, not just the ones
for which a subtitle parser/renderer exist. It will
just ignore any unsupported streams instead of causing
an error.

https://bugzilla.gnome.org/show_bug.cgi?id=688476
2013-03-21 15:37:31 +01:00
Sebastian Dröge
9084bc151b playsinkconvertbin: Make sure to return all allowed caps in the GET_CAPS query
Add all the caps that we can convert to to the filter caps,
otherwise downstream might just return EMPTY caps because
it doesn't handle the filter caps but we could still convert
to these caps, causing us to return EMPTY caps although
conversion would be possible.

https://bugzilla.gnome.org/show_bug.cgi?id=688803
2013-03-21 13:42:41 +01:00
Sebastian Dröge
d06c332655 playsinkconvertbin: Use gst_caps_is_subset() for handling the ACCEPT_CAPS query 2013-03-21 11:42:43 +01:00
Sebastian Dröge
575f0640ed videoscale: Let the add-borders property default to TRUE
It's undesirable most of the time that the display aspect ratio
is changed.
2013-03-21 11:14:41 +01:00
Jan Schole
8e791d52aa videoscale: Correct DAR and border calculations
changed: gst_video_scale_set_info in gst/videoscale/gstvideoscale.c
DAR on sink side now calculated with PAR on sink side
ratio of output width/height now calculated with inverse PAR
additional condition that borders are 0:0 for passthrough mode

https://bugzilla.gnome.org/show_bug.cgi?id=696019
2013-03-21 11:13:49 +01:00
Stefan Sauer
60ccc2f17f adder: add a missing break 2013-03-11 22:46:45 +01:00
Stefan Sauer
c6c27b9926 videotestsrc: make colors controlable
Also trim since markers.
2013-03-07 09:39:14 +01:00
Tim-Philipp Müller
7dd2fad888 uridecodebin: minor GValue handling optimisation 2013-03-03 17:44:11 +00:00
Sebastian Dröge
5a58f8b9ec videoscale: Fix compiler errors caused by not including config.h
_stdint.h requires config.h to be included to properly
use the correct code to get uint8_t and friends.
2013-03-02 19:29:40 +01:00
Stefan Sauer
e2d0a1835b adder: don't discard the flush-start events
This reverts one more part of a86ca535c8 and
hopefully fixes #694553 for good.
2013-02-27 22:07:11 +01:00
Stefan Sauer
13e8c9878a adder: fix looping
Use gst_segment_do_seek() and clip position before updating the segment.
2013-02-27 22:07:11 +01:00
Stefan Sauer
8ea1f331b3 adder: remove defines we don#t use anymore 2013-02-27 22:07:11 +01:00
Stefan Sauer
1504153012 adder: mark pending flush-stop on segment event
Also add more debug logging. Fixes #694553.
2013-02-25 19:55:00 +01:00
Sreerenj Balachandran
9791f0aaf1 typefindfunctions: recognize SVC and MVC nal units in h264 streams
Ensure the detection of svc and mvc as a part of h264 stream.
Once the typefinder detect a subset_sequence_parameter_set(ssps),
then each nal unit with type 14 or 20 should be detected as a
part of h264 stream thereafter.

https://bugzilla.gnome.org/show_bug.cgi?id=694346
2013-02-21 12:20:36 +00:00
Stefan Sauer
a86ca535c8 adder: ensure sending a flush-stop after flush-start
Previously adder was only sending the flush-stop, when it saw the flushing seek.
If one sends a flushing see direcly to an element upstream of adder, it would
fail to unflush the downstream pads.
2013-02-21 10:11:32 +01:00
Vincent Penquerc'h
bccfc679b5 encodebin: activate ghost pad after creating it
This ensures the ghost pad will not stay in flushing mode
when it receives a flush stop event, and generally behave
badly.

This fixes at least one case of a dynamic decodebin2 + encodebin
pipeline finding a source that has not prerolled when it should
have been (due to the ghostpad staying in flushing mode).
2013-02-14 16:07:48 +00:00
Matej Knopp
1e5b50e94c decodebin: don't block on caps 2013-02-14 11:37:54 +01:00
Sebastian Dröge
cfd73a8cf7 decodebin: Remove left-over line from last commit 2013-02-14 11:25:37 +01:00
Matej Knopp
872cc295a6 decodebin: Check if value is set before unsetting it
https://bugzilla.gnome.org/show_bug.cgi?id=693401
2013-02-14 11:22:34 +01:00
Tim-Philipp Müller
03d4a69df4 typefinding: add parsed=true to mp3 and mpeg2 video ES caps
Because we can, and that's also what we do for other formats.
2013-02-13 21:02:39 +00:00
Stefan Sauer
cff9fccc69 adder: use the collect_pads_query func
We were setting the query-func on the sink-pad, which got overwritten when
adding the new pad to collect pads. Instead register our query-func with the
collect pads object. This fixes filter caps. Add a test for it.
2013-02-13 21:11:41 +01:00
Vincent Penquerc'h
17cdb54aa4 encodebin: sync muxer state with parent bin
Other elements were synced, but not the muxer.
2013-02-12 17:27:10 +00:00
Alexander Schrab
e7caef6b29 decodebin: Push caps event immediately to ghost pad to avoid exposing pads without caps 2013-02-12 10:12:14 +01:00
Marc Leeman
f704b3f975 decodebin: g_mutex_new -> g_mutex_init
Don't use deprecated GLib API.

https://bugzilla.gnome.org/show_bug.cgi?id=693302
2013-02-07 13:51:17 +00:00
Tim-Philipp Müller
dce49a1a7e video: fix return type of _get_palette() and add since markers to docs
'const gpointer' is not the same as 'gconstpointer', see
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35928.
2013-02-06 12:43:51 +00:00
Wim Taymans
ebf24e292e videotestsrc: use video library palette
Use the palette provided and used by the video library instead of making our own
copy.
2013-02-05 11:20:20 +01:00
Wim Taymans
0085a77919 videoscale: scale each field in interlace mode
When we are dealing with interlaced content, scale each field intependently so
that we don't destroy the interlacing.

See https://bugzilla.gnome.org/show_bug.cgi?id=588535
2013-02-05 10:49:57 +01:00
Wim Taymans
be866d4b78 videoconvert: interlace support to some fastpath functions
Add interlace support for some fastpath functions.
2013-02-04 16:21:20 +01:00
Wim Taymans
599880ff8d videoconvert: make fast path interlaced aware
Make sure that we also handle interlacing when choosing the fast path.

See https://bugzilla.gnome.org/show_bug.cgi?id=588535
2013-02-04 15:40:02 +01:00
Wim Taymans
e3a9a7cf07 videoconvert: pass frame interlaced flag to pack/unpack
If the frame is interlaced, pass the interlaced flag to the pack/unpack
functions to make it unpack correctly.
2013-02-04 15:19:35 +01:00
Wim Taymans
ed2ce49499 videoconvert: use the palette helper functions
Get the palette from the video library instead of making our own.
2013-02-04 15:06:10 +01:00
Wim Taymans
9b95f9de95 videoconvert: make a constant of scale factor 2013-02-04 15:06:06 +01:00
Tim-Philipp Müller
500b864899 decodebin: try harder to always expose pads in the same order
Use stream-id as sort criterion in addition to the media type.

https://bugzilla.gnome.org/show_bug.cgi?id=634407
2013-01-19 13:03:03 +00:00
Tim-Philipp Müller
fcd8566665 typefinding: add typefind functions for SBC audio
https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-01-15 17:27:31 +00:00
Stefan Sauer
8296b683ca volume: a return value of FALSE from the controller is not fatal
A return value of FALSE here indicates that we don't have control-values. In
0.10 we were returning the default value of the property. Now we don't fill an
array with defaults in the ControlBinding, but leave it up to the element to
handle this case.
2013-01-09 23:15:06 +01:00
Wim Taymans
0feecef275 decodebin2: use NO_RESYNC flag
to avoid the state change function from messing with the state of the elements
that we add.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690420
2012-12-21 16:38:36 +01:00
Thibault Saunier
e79f0e801e encodebing: Use the preset_name as the factory name and preset as the name of the preset
The naming is not perfect, but at least we can keep the exact same behaviour as
before.
2012-12-17 10:12:11 -03:00
Tim-Philipp Müller
53072a4326 ssaparse: ignore invalid UTF-8 in init section
The codec data blob we get from matroskademux with the SSA/ASS
init section is supposed to be valid UTF-8. If it's not, just
continue with the bits that are valid UTF-8 instead of erroring
out. We don't actually parse the init section yet anyway..

https://bugzilla.gnome.org/show_bug.cgi?id=607630
2012-12-17 01:09:11 +00:00
Tim-Philipp Müller
6549db36cd subparse: fix GError leak 2012-12-16 12:34:14 +00:00
Tim-Philipp Müller
2f177a7616 typefinding: detect stand-alone SSA/ASS subtitle files
https://bugzilla.gnome.org/show_bug.cgi?id=625113
2012-12-16 12:11:27 +00:00
Wim Taymans
66cafcc34d playsink: fix vis switch with format change
Block the pad before the resample and convertor elements to give the a chance to
negotiate new caps with the newly switched vis plugin.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679976
2012-12-13 11:34:54 +01:00
Tim-Philipp Müller
4c58077f22 typefindfunctions: aac: don't try to unref NULL caps 2012-12-12 15:31:20 +00:00
Thibault Saunier
7358cba017 encodebin: Make use of the new preset_name when setting a preset
The behaviour is sensibly changed here. Instead of purely falling when a
preset is set on the #GstEncodingProfile, we now make sure that the
element that is plugged corresponds to the one specified as preset. Then,
if we have a preset_name, we use it, if it fails, we fail (we might rather
just keep working even without setting the element properties?)

 + Add tests that it behave correctly
2012-12-05 17:48:38 -03:00
Tim-Philipp Müller
0b172593fa tcp: print warning if someone tries to add clients in NULL state
And mention this in docs.

https://bugzilla.gnome.org/show_bug.cgi?id=689326
2012-12-02 12:54:17 +00:00
Tim-Philipp Müller
7c89a7298a streamsynchronizer: don't send gap events with huge bogus durations when advancing EOS streams
When the input buffers for a stream don't have a duration set,
timestamp_end might still be GST_CLOCK_TIME_NONE. When advancing
EOSed streams via GAP events (with other streams not yet EOS), we
would then use the invalid timestamp_end to calculate the duration
of the gap. This in turn would make baseaudiosink abort, because it
would try to allocate memory for a trizillion samples.

So if buffers don't have a duration set, assume a duration of
one second for stream catch-up purposes, just so we can still
continue to catch up in those cases. And make sure that
timestamp_end is valid before doing calculations with it.

http://bugzilla.gnome.org/show_bug.cgi?id=678530
2012-11-26 19:03:38 +00:00
Tim-Philipp Müller
601aabdf9c streamsynchronizer: reduce debug log spam a bit
Log locking/unlocking with TRACE debug level.
2012-11-25 18:07:04 +00:00
Sebastian Dröge
830b500d40 decodebin: Set element to NULL state before removing it from the bin 2012-11-22 13:09:46 +01:00
Sebastian Dröge
2faef82b9a decodebin: Check if the element really accepts the caps after setting it to READY
It might know the caps constraints for sure only after opening a decoder.
2012-11-22 13:07:11 +01:00
Sebastian Dröge
4f480612e9 streamsynchronizer: Make the element public
https://bugzilla.gnome.org/show_bug.cgi?id=688240
2012-11-21 10:29:44 +01:00
Tim-Philipp Müller
61f04f1460 typefinding: improve AAC LOAS typefinding
Make AAC LOAS typefinding a bit more reliable; don't report
a LIKELY probability already after just two sync points, but
scan for a few more consecutive frames and determine probability
based on how many we found. Fixes mis-detection of wavpack file.

https://bugzilla.gnome.org/show_bug.cgi?id=687674
2012-11-11 20:08:52 +00:00
Tim-Philipp Müller
bccb3feebf typefinding: improve wavpack typefinder
Check for second block sync and return different
probabilities depending on what we found (trumping
the AAC loas typefinder's LIKELY probability after
finding a second frame sync in this particular case).

https://bugzilla.gnome.org/show_bug.cgi?id=687674
2012-11-11 20:08:17 +00:00
Tim-Philipp Müller
20c9d2d2cc typefinding: fix block size calculation in wavpack typefinder
The blocksize includes part of the header, just not the sync
marker and the four size bytes.
2012-11-11 19:44:31 +00:00
Thiago Santos
a4cfe8c43c typefind: isml is iso-fragmented video/quicktime
Add isml typefinding to the video/quicktime function
2012-11-07 01:40:18 -03:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Sebastian Dröge
9e6021fe4b audioconvert: Always prefer the input format if possible
Previously we could've chosen another format with the same
depth even if the input format was possible.

Also make sure to chose according to the order in the
caps.
2012-11-01 16:44:05 +01:00
Sebastian Dröge
bc4389806d audioconvert: Also ignore the SIGNED flag when matching an output format 2012-11-01 14:31:29 +01:00
Rasmus Rohde
c286f8ffa2 audioconvert: Prefer output formats with the same depth or at least a higher depth
Enhance current code to prefer an exact match on sample depth if
possible. Also ignore GST_AUDIO_FORMAT_FLAG_UNPACK when checking
equality on the flags.
2012-11-01 14:29:43 +01:00
Tim-Philipp Müller
8abc646ecb gio: handle g_vfs_get_supported_uri_schemes() returning NULL
Handle g_vfs_get_supported_uri_schemes() returning NULL more
gracefully, without criticals for passing NULL to g_strv_length().
2012-10-29 13:31:28 +00:00
Sebastian Dröge
3864209f6e audioresample: Use auto sinc table mode by default 2012-10-25 14:03:52 +02:00
Carlos Rafael Giani
d793a2b560 audioresample: added ARM NEON support
This adds ARM NEON accelerated code paths for 16-bit integer
and 32-bit floating point samples.

It is a modified combination of patches #3 and #5 from Jyri Sarha
( http://lists.xiph.org/pipermail/speex-dev/2011-September/008240.html &
http://lists.xiph.org/pipermail/speex-dev/2011-September/008238.html )

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2012-10-25 14:03:52 +02:00
Carlos Rafael Giani
19073ab8c4 audioresample: changed inner_product_single semantics
This is an adaptation of patch #3 from Jyri Sarha
( http://lists.xiph.org/pipermail/speex-dev/2011-September/008240.html ),
but without the NEON optimizations (these come in a separate commit).
The idea is to replace SATURATE32(PSHR32(x, shift), a) operations with a
combined SATURATE32PSHR(x, shift, a) macro that can be optimized for
specific platforms (and also avoids rare rounding errors).

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2012-10-25 14:03:52 +02:00
Carlos Rafael Giani
c41faa3d8e audioresample: sinc filter performance improvements
Original idea comes from Jyri Sarha
( http://lists.xiph.org/pipermail/speex-dev/2011-September/008243.html ).
Patch was discovered by Branislav Katreniak
( branislav.katreniak@streamunlimited.com ) for StreamUnlimited
( http://streamunlimited.com/ ). Tests showed up to 5x speed increase in
the resampler in the 44.1<->48kHz case.
I added the sinc-filter-mode and sinc-filter-auto-threshold properties
and the auto mode threshold tests, and adapted the code to GStreamer 1.0.

Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
2012-10-25 14:03:52 +02:00
Sebastian Dröge
b9d4d0cd29 streamsynchronizer: Also send a GAP event to let audio sinks start their clock in case they did not have enough data yet 2012-10-24 13:34:15 +02:00
Sebastian Dröge
6a31051feb streamsynchronizer: Use correct timestamp/duration for the GAP events 2012-10-24 13:29:45 +02:00
Sebastian Dröge
3c1041d5eb Revert "gst: Add better support for static plugins"
This reverts commit d2d79e3bc2,
which was accidentially pushed.
2012-10-24 13:26:26 +02:00
Sebastian Dröge
52d48109bc streamsynchronizer: Send GAP events to advance streams 2012-10-24 13:25:19 +02:00
Sebastian Dröge
d2d79e3bc2 gst: Add better support for static plugins 2012-10-24 12:10:44 +02:00
Sebastian Dröge
7b12afa4cb streamsynchronizer: Create a GAP event with a sensible timestamp 2012-10-24 11:19:06 +02:00
Sebastian Dröge
356579157e streamsynchronizer: Also propagate return value of pushing GAP event upstream 2012-10-23 18:21:32 +02:00
Sebastian Dröge
120c7be970 streamsynchronizer: Return TRUE from the EOS handler 2012-10-23 17:38:43 +02:00
Sebastian Dröge
ce0bfbb7cc tcp: sys/socket.h is needed for getsockname() and similar functions 2012-10-22 15:45:47 +02:00
Wim Taymans
a5ef81e05e videoconvert: add more debug 2012-10-22 09:51:34 +02:00
Tim-Philipp Müller
0ea6526770 tcpserver{sink,src}: improve docs and property strings
And some minor clean-ups.
2012-10-19 18:29:56 +01:00
Alexandre Relange
d2f1d82778 tcpserver{sink,src}: add 'current-port' property and signal actually used port
Useful when port=0 (use random available port) was requested.

https://bugzilla.gnome.org/show_bug.cgi?id=580093
2012-10-19 18:23:20 +01:00
Mark Nauwelaerts
a66ff00908 audioconvert: enhance transforming caps
... so as to preserve input format precision,
and preferably not convert at all.
2012-10-19 16:02:44 +02:00
Wim Taymans
d73dcb6af3 videotestsrc: make and copy palette 2012-10-15 16:33:24 +02:00
Wim Taymans
f3f08e829d videoconvert: actually copy the palette
Copy the default palette in the destination buffer too.
2012-10-15 16:32:25 +02:00
David Corvoysier
87fd43aaaa decodebin2: Fix group switching algorithm
There were two issues with the previous decodebin2 group switching algorithm:

Issue 1: It operated with no memory of what has been drained or not, leading to
multiple checks for chains/groups that were already drained.

Issue 2: When receiving an EOS, it only detected that a higher-level chain
was drained if it contained the pad receiving the EOS.

The following modifications have been applied:
- a new drained property has been added to GstDecodeChain
- both drained properties of chain/group are set as soon as they are detected
- the algorithm now tests agains these values

See https://bugzilla.gnome.org/show_bug.cgi?id=685938
2012-10-14 10:58:18 +02:00
Sebastian Dröge
80e4f3e912 playsinkconvertbin: Change GST_WARNING to GST_INFO
It's not a problem if we have no converters, this only means
that none were requested at this point.
2012-10-10 11:50:12 +02:00
Wim Taymans
3591df23b1 docs: playbin2 -> playbin 2012-10-09 12:20:10 +02:00
Tim-Philipp Müller
81097f485a playback: class_ref() some types so we can create multiple playback elements at the same time
Should fix "cannot register existing type `GstPlaybinSelectorPad'" warnings
and subsequent errors when creating multiple players at the same time.

Conflicts:
	gst/playback/gststreamselector.c
2012-10-03 11:48:25 +01:00
Alban Browaeys
579458f613 encodebin: muxer sink pad is not always a request pad
GstId3Mux sink pad is an always (static) pad. Thus releasing it
as if a request pad triggers:
(sound-juicer:11826): GStreamer-CRITICAL **:
gst_element_release_request_pad: assertion `GST_PAD_PAD_TEMPLATE (pad)
== NULL || GST_PAD_TEMPLATE_PRESENCE (GST_PAD_PAD_TEMPLATE (pad)) ==
GST_PAD_REQUEST' failed

https://bugzilla.gnome.org/show_bug.cgi?id=685110
2012-09-30 15:08:17 +01:00
Tim-Philipp Müller
6842698f0d Purge all references to liboil
And remove unused ffmpegcolorspace tests in the process.

https://bugzilla.gnome.org/show_bug.cgi?id=673285
2012-09-29 11:47:52 +01:00
Sebastian Dröge
a3878f8bb8 videoconvert: Set correct plugin metadata 2012-09-25 13:16:45 +02:00
Thiago Santos
386206e627 videotestsrc: keep track of the correct running time after renegotiations
Need to store the old running time and frame numbers when renegotiating and
start from 0 again when a new caps is set, preventing that framerate changes
cause timestamping issues.

For example, if a stream pushed 10 buffers on framerate=2/1, its
running time will be 5s. If a new framerate of 1/1 is set, it would
make the running time go to 10s as it would count those 10 buffers
as being sent on this new framerate.

Fixes camerbin unit test.

https://bugzilla.gnome.org/show_bug.cgi?id=682973
2012-09-23 17:48:56 +01:00
Tim-Philipp Müller
cec6d634b6 adder: send stream-start event, and send caps event after stream-start
Delay sending of caps event so that it is sent only after
the stream-start event.
2012-09-23 13:31:17 +01:00
Mark Nauwelaerts
17e3dc3357 audioresample: mark semi-unused variable
../../../gst-plugins-base/gst/audioresample/gstaudioresample.c: In function 'gst_audio_resample_dump_drain':
../../../gst-plugins-base/gst/audioresample/gstaudioresample.c:729:9: warning: variable 'in_len' set but not used [-Wunused-but-set-variable]
2012-09-18 13:16:39 +02:00
Sebastian Dröge
b19944d1e4 gst: Update for link/unlink function API change 2012-09-17 13:24:52 +02:00
Mark Nauwelaerts
e491d24341 use gst_element_factory_get_metadata to replace obsolete API 2012-09-15 18:57:09 +02:00
Mark Nauwelaerts
c629a44162 replace gst_tag_list_free with gst_tag_list_unref 2012-09-14 17:53:21 +02:00
Wim Taymans
acb3aeebd4 fix caps 2012-09-14 13:22:31 +02:00
Andreas Frisch
6e469b2ac5 playbin: subtitleoverlay: don't segfault in incorrectly init'ed plugins
https://bugzilla.gnome.org/show_bug.cgi?id=683865
2012-09-14 08:49:47 +01:00
Tim-Philipp Müller
f7c6aa5abd Release 0.11.94 2012-09-14 02:47:54 +01:00
Tim-Philipp Müller
082cedef79 streamsynchronizer: don't shadow function parameter 2012-09-14 00:39:09 +01:00
Stefan Sauer
b9054de15c collectpads: remove gst_collect_pads_add_pad_full
Rename gst_collect_pads_add_pad_full() to gst_collect_pads_add_pad() and fix all
invocations.
2012-09-12 21:03:21 +02:00
Edward Hervey
5f4bd0a4e8 subparse: Call default query handler 2012-09-11 16:29:21 +02:00
Edward Hervey
b5090d2aca streamsynchronizer: Don't wait on non-time streams
streams with non-TIME segments will not have timestamps ...
... and therefore will never unblock the other streams.

Fixes blocking issue when using playbin suburi feature
2012-09-11 16:29:21 +02:00
Wim Taymans
280e504ae5 videoscale: improve handling of navigation events
Only make the navigation event writable when we need to change it.
2012-09-11 10:56:43 +02:00
Tim-Philipp Müller
6b670d701c gdp: move gdp plugin to -bad
It needs to be reworked for 1.0
2012-09-11 01:33:11 +01:00
Mark Nauwelaerts
23dde756e6 videoscale: remove defunct commented code 2012-09-10 14:03:49 +02:00
Mark Nauwelaerts
6a87cb5248 tcp: adjust comment style 2012-09-10 14:03:49 +02:00
Tim-Philipp Müller
952f347146 playback: port to new GLib thread API 2012-09-10 01:10:24 +01:00
Tim-Philipp Müller
2079a8c12b Remove glib-compat-private.h stuff we don't need any more
It's all been ported to the latest GLib API now.
2012-09-09 18:36:49 +01:00
Tim-Philipp Müller
c0288304a9 gdp: dump bytes into debug log using GST_MEMDUMP
Instead of home-grown solution.
2012-09-09 18:05:55 +01:00
Tim-Philipp Müller
6d0a4ac8d5 audiorate: default to tolerance = 40ms instead of 0
People expect audiorate to fix things up and not make things worse
by default, so let's default to a similar tolerance as audiosinks
do. Should help with transcoding and the like, though one might
possible still want higher values then.
2012-09-09 15:58:36 +01:00
Tim-Philipp Müller
9f1856a7a5 videoconvert: fix up dither method enum GType name for consistency 2012-09-09 15:12:14 +01:00
Tim-Philipp Müller
9efb5f5af2 multi{fd,socket}sink: rename client-handle-removed signal to client-{fd,socket}-removed 2012-09-09 02:00:49 +01:00
Tim-Philipp Müller
84a3add409 multifdsink, multisocketsink: fix broken action signal setup
We can't just make a vfunc that takes a union of int
and pointer as argument, and then set up subclass-specific
action signals and signals that take int (in multifdsink's
case) or a GSocket * (in multisocketsink's case), and then
expect everything to Just Work. This blows up spectacularly
on PPC G4 for some reason.

Fixes multifdsink unit test on PPC, and fixes aborts in
multisocketunit test (now hangs in gst_pad_push - progress).
2012-09-09 01:57:59 +01:00
Mark Nauwelaerts
782adaf3ab streamsynchronizer: do not leak EOS events 2012-09-06 15:03:49 +02:00
Mark Nauwelaerts
22d7149ba6 audioconvert: plug leak 2012-09-06 14:02:07 +02:00
Wim Taymans
b26f35c3a4 streamsync: only remove DISCONT when needed
Check if the buffer is DISCONT before making a potentially expensive copy to
unset the DISCONT flag.
2012-09-06 13:37:11 +02:00
Mark Nauwelaerts
d3a0269695 streamsynchronizer: use GAP event to trigger preroll
... rather than an empty buffer
2012-09-05 16:59:12 +02:00
Wim Taymans
f3158569c6 streamsync: unblock gcond on flush-stop
See https://bugzilla.gnome.org/show_bug.cgi?id=680441
2012-09-04 11:09:50 +02:00
Wim Taymans
ac61fb5221 playsink: unblock pads before releasing
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679823
2012-09-04 10:06:01 +02:00
Tim-Philipp Müller
7c2e7b1a4f text/plain + text/x-pango-markup -> text/x-raw 2012-09-02 02:45:41 +01:00
Tim-Philipp Müller
7b89dddede encodebin: rename flags type name 2012-08-29 19:23:57 +01:00
Tim-Philipp Müller
0301aaa30d playbin: automatically deinterlace interlaced content by default 2012-08-26 22:26:08 +01:00
Tim-Philipp Müller
5b715cdb90 video/x-dvd-subpicture -> subpicture/x-dvd 2012-08-20 21:36:15 +01:00
Tim-Philipp Müller
8d284f8387 videoscale: mark Lanczos method as experimental/unstable
It's known to crash in some circumstances.
2012-08-18 21:33:38 +01:00
Edward Hervey
d86f6132ed streamsynchronizer: Handle stream switching
* Update outgoing segment.base with accumulated time, ensuring all
  streams are synchronized.
* Only consider streams as "new" is they have a STREAM_START event
  with a different seqnum.
* Use GstStream segment.base instead of separate variable to store
  the past running time.
* Disable passthrough
* Switch to glib 2.32 GMutex/GCond
* Avoid getting pad parent the expensive way
* Minor other fixes
2012-08-14 18:56:30 +02:00
Sreerenj Balachandran
fe08923628 videoconvert: fix example pipeline in docs
There is no more 'fourcc' typecast for format.

https://bugzilla.gnome.org/show_bug.cgi?id=681436
2012-08-08 11:21:51 +01:00
Tim-Philipp Müller
17c839c8a1 No statements with side-effects in g_assert() or g_return_*() please 2012-08-08 10:11:48 +01:00
Tim-Philipp Müller
d4f582edd6 tests: silence FIXMEs when running videoscale unit test 2012-08-05 17:21:31 +01:00
Tim-Philipp Müller
452b38560c encodebin: use generic marshaller for signal 2012-08-05 14:02:01 +01:00
Tim-Philipp Müller
24478261a2 adder: send CAPS event downstream fixing not-negotiated errors
Make sure to send a CAPS event downstream when we get our
first input caps. This fixes not-negotiated errors and
adder use with downstream elements other than fakesink.

Even gst-launch-1.0 audiotestsrc ! adder ! pulsesink works now.

Also, flag the other sink pads as FIXED_CAPS when we receive
the first CAPS event on one of the sink pads (in addition to
setting those caps on the the sink pads), so that a caps query
will just return the fixed caps from now on.

There's still a race between other upstreams checking if
caps are accepted and sending a first buffer with possibly
different caps than the first caps we receive on some other
pad, but such is life.

Also need to take into account optional fields better/properly.

https://bugzilla.gnome.org/show_bug.cgi?id=679545
2012-08-05 00:41:10 +01:00
Tim-Philipp Müller
7892e1e22f videoscale: fix 4-tap scaling for 64-bpp formats
Fix invalid memory access caused by broken pointer arithmetic.

If we have a uint16_t *tmpbuf and add n * dest->stride to it, we
skip twice as much as we intended to because dest->stride is in
bytes and not in pixels. This made us write beyond the end of
our allocated temp buffer, and made the unit test crash.
2012-08-04 22:05:21 +01:00
Tim-Philipp Müller
a314325002 videoscale: sprinkle some G_GNUC_INTERNAL
Not sure it actually makes any difference for plugins though.
2012-08-04 22:05:20 +01:00
Tim-Philipp Müller
4c6ea69464 videoscale: make 4tap scanline funcs static 2012-08-04 22:05:20 +01:00
Sebastian Dröge
99d73c94e9 tag: Update for taglist/tag event API changes 2012-07-28 00:35:02 +02:00
Wim Taymans
683a38ad65 update for new variable names 2012-07-27 15:24:43 +02:00
Sebastian Dröge
628bc44ca5 streamsynchronizer: Unblock streams on FLUSH_START events 2012-07-27 12:59:20 +02:00
Wim Taymans
7f23e75f3c videoconvert: small cleanups
Make function pointers NULL when nothing needs to be done.
Pass target pixels to dither and matrix functions so that we can later make
them operate on the target buffer memory directly.
2012-07-27 12:19:04 +02:00
Mark Nauwelaerts
88e73f8515 audioconvert: prefer channels of base caps when fixating
... which in turn prefers to preserve input channels when converting.
2012-07-25 15:58:19 +02:00
Edward Hervey
2f37ba60a2 decodebin2: Mark streams as complete on CAPS event but don't block
This allows the following use-cases to expose the group and pads
before an ALLOCATION query comes through:
* Single stream use-cases
* Multi stream use-cases where all streams sent the CAPS event before
  the first ALLOCATION query

Some cases will still make the initial ALLOCATION query fail though,
which isn't optimal, but not fatal (it will recover when pads are
exposed, a RECONFIGURE event is sent upstream and elements can
re-send an ALLOCATION query which will reach downstream elements).

https://bugzilla.gnome.org/show_bug.cgi?id=680262
2012-07-24 10:53:19 +02:00
Wim Taymans
8c5ce3adb8 videotestsrc: prefix orc functions with video_test_src_orc 2012-07-24 09:09:22 +02:00
Wim Taymans
624051f811 volume: prefix orc functions with volume_orc_ 2012-07-23 17:30:50 +02:00
Wim Taymans
ebb4116412 adder: prefix orc functions with adder_orc_ 2012-07-23 17:27:46 +02:00
Wim Taymans
5d3b56e9c4 audioconvert: prefix orc functions with audio_convert_orc_ 2012-07-23 17:24:13 +02:00
Wim Taymans
1e8c480dd7 videoconvert: prefix orc functions with video_convert_orc_ 2012-07-23 17:19:56 +02:00
Wim Taymans
aefd1a5d6d videoscale: ranem gst_video_scale_orc -> video_scale_orc
So that functions are not exported
2012-07-23 17:13:29 +02:00
Wim Taymans
d4255d4339 videoscale: prefix orc functions with gst_video_scale_orc
See https://bugzilla.gnome.org/show_bug.cgi?id=680025
2012-07-23 17:03:53 +02:00
Edward Hervey
f72f4c09c9 streamsynchronizer: Re-enable stream update
Not 100% perfect yet, but allows people to test
2012-07-19 16:12:22 +02:00
Edward Hervey
c5901cebca decodebin: Block on caps event
A caps event is also used to establish that a stream has prerolled.

Without this, we end up allowing negotiation queries to fail, ending
in decoders (and other elements) to not be configured right from the
start with the most optimal settings.
2012-07-18 18:17:57 +02:00
Wim Taymans
0423329f91 playback: update for ghostpad changes 2012-07-18 17:50:28 +02:00
Tim-Philipp Müller
0615794300 playbin: use avdeinterlace for deinterlacing until deinterlace is ported 2012-07-17 13:45:13 +01:00
Tim-Philipp Müller
e29098f8f0 videoscale: remove formats Y800 and Y16 which no longer exist from template caps
Should help with the unit test, which has been failing.
2012-07-17 00:27:17 +01:00
Wim Taymans
3d8636a662 videoconvert: use video helper function
Use the video helper function to get the offset and scale of a format.
2012-07-16 11:22:03 +02:00
Wim Taymans
fec11c7809 videotestsrc: fix 10 bits formats
We need to check the number of bits of the unpack format when we prepare the
pixels for the pack function.
2012-07-16 11:22:03 +02:00
Wim Taymans
04c4ca23b1 playsink: remove old marshal remains 2012-07-13 12:35:44 +02:00
Edward Hervey
dad72182a0 decodebin2: Demote WARNING to DEBUG
Delaying auto-plugging is quite common
2012-07-12 09:51:36 +02:00
Edward Hervey
a0fbf92d43 playback: Remove custom stream-change event
Applications can now use the STREAM_START message to know if a new
stream has started
2012-07-12 09:51:35 +02:00
Wim Taymans
a476b6cbfb decodebin2: improve debug 2012-07-11 15:39:37 +02:00
Sebastian Dröge
a479886ff9 videoconvert: Fix compiler warnings
videoconvert.c: In function 'videoconvert_convert_new':
videoconvert.c:287:11: error: 'Kr' may be used uninitialized in this function
videoconvert.c:287:15: error: 'Kb' may be used uninitialized in this function
2012-07-11 12:57:28 +02:00
Wim Taymans
aa261162d2 videoconvert: fix offset and scale for GRAY
Fix the calculation of the offset and scale values for GRAY formats. We also
need to set the offset and base of the chroma values to match what the unpack
function creates.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679612
2012-07-10 11:08:00 +02:00
Tim-Philipp Müller
1dea99ded3 decodebin: make GValueArray arguments in autoplug-* signals static scope to avoid copies 2012-07-09 08:35:22 +01:00
Tim-Philipp Müller
924139f589 multifdsink: remove deprecated and unused "mode" property 2012-07-06 12:43:26 +01:00
Tim-Philipp Müller
81213ca040 playbin: don't use deprecated textoverlay properties 2012-07-06 12:37:56 +01:00
Wim Taymans
53fc1f3fca update for query api changes 2012-07-06 11:50:44 +02:00
Wim Taymans
177fd005ab update for query api changes 2012-07-06 11:23:48 +02:00
Wim Taymans
bc5ba349b7 update for allocation query changes 2012-07-06 11:05:09 +02:00
Sebastian Dröge
2f3637ca07 uridecodebin: Fix double-unref when iterating over element pads 2012-07-05 15:34:44 +02:00
Tim-Philipp Müller
99103be50c playsink: make extra sure to pass 64-bit integer to g_object_set when setting ts-offset
Might just be paranoia, but better safe than sorry. Make sure
the compiler really always passes a 64-bit integer to the
g_object_set() vararg function.
2012-07-03 20:32:57 +01:00
Wim Taymans
044afd72eb videotestsrc: set DTS and PTS, sync on DTS 2012-06-27 17:18:35 +02:00
Wim Taymans
f28e2e7bea fix interlace-mode 2012-06-26 17:15:49 +02:00
Sebastian Dröge
6e4d7e466d playsink: The default signal handler should be the one that triggers pad blocks and reconfiguration
Conflicts:

	gst/playback/gstplaysink.c
2012-06-26 11:05:42 +02:00
Sebastian Dröge
78b2fc762b playsink: Make sure to always block all pads before reconfiguring the pipeline
Fixes bug #678762.

Conflicts:

	gst/playback/gstplaysink.c
2012-06-26 10:59:59 +02:00
Sebastian Dröge
7ab77c6b32 playsink: Prevent NULL pointer dereference in last change 2012-06-25 16:08:47 +02:00
Sebastian Dröge
a038e5e583 playsink: Unlink pads when switching between enabling/disabling the deinterlace chain
See bug #678762.
2012-06-25 16:02:23 +02:00
Sebastian Dröge
67bbfdde4e playsink: Connect to the value-changed signal of the child colorbalance element and proxy it 2012-06-25 15:23:19 +02:00
Sebastian Dröge
c290fabf36 playsink: Only remove the xoverlay/colorbalance elements when necessary
They are not added again by every code path, e.g. when switching
only the deinterlace flag and are missing then.

Fixes bug #678763.

Conflicts:

	gst/playback/gstplaysink.c
2012-06-25 15:22:55 +02:00
Tim-Philipp Müller
95442368bd smartencoder: use gst_quark_from_static_string() 2012-06-23 14:55:51 +01:00
Tim-Philipp Müller
43e4b44bb1 uridecodebin, tests: update for gst_element_make_from_uri() changes 2012-06-23 14:55:31 +01:00
Arnaud Vrac
b1ff7f95ad playsinkconvertbin: Fix conversion bin when sink has both raw and non-raw caps
Fixes bug #678403.
2012-06-20 11:12:26 +01:00
Sebastian Dröge
ecb22ebd63 playbin2: Proxy the force-aspect-ratio property of video sinks
Fixes bug #678020.

Conflicts:

	gst/playback/gstplaybin2.c
2012-06-14 09:35:44 +02:00
Sebastian Dröge
32db1ea168 playsink: Proxy the force-aspect-ratio property of video sinks 2012-06-14 09:33:29 +02:00
Wim Taymans
655fef3dbf update for message api change 2012-06-13 11:04:34 +02:00
Sebastian Dröge
e729ad1c9c playback: Always prefer parsers over decoders
...and in playbin2 additionally prefer sinks over parsers.

This makes sure that we a) always directly plug a sink if it supports
the (compressed) format and b) always plug parsers in front of decoders.
2012-06-12 11:59:39 +02:00
Vincent Penquerc'h
0bd8070ebd typefind: probe for DVD ISO files, to avoid matching H.264
https://bugzilla.gnome.org/show_bug.cgi?id=674069
2012-06-11 11:11:01 +01:00
Vincent Penquerc'h
512f96906e playbin2: remove uridecodebin from bin when it fails to switch to PAUSED
This avoids that bin being leftover and being found when reusing playbin2,
and fixes restarting on a new URI after failing to activate with a previous
URI.

https://bugzilla.gnome.org/show_bug.cgi?id=673888
2012-06-08 17:35:06 +01:00
Sebastian Dröge
ce4f2c462c videoconvert: Need $(LIBM) for pow() 2012-06-08 11:28:56 +02:00
Wim Taymans
14237251a2 playsink: fix compilation 2012-06-07 10:52:53 +02:00
Andre Moreira Magalhaes (andrunko)
88d3b7aeee playbin2: Send flush events when changing subtitle tracks and use new input-selector modes for subtitle tracks
For audio/video we should flush too for fastest stream switches but this
currently isn't possible because the flushes would need to go to the sink,
which then causes state changes and causes all timing information to be
changed.

Should work out of the box in 0.11 with the flush-stop that doesn't reset
the times.

Conflicts:

	gst/playback/gstplaybin2.c
	gst/playback/gstplaysink.c
	gst/playback/gstsubtitleoverlay.c
2012-06-06 16:31:09 -03:00
Sebastian Dröge
9d2e50136e playsink: Don't use // comments and prevent unnecessary memory allocation
Conflicts:

	gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
b41d19fa5f playbin2: Properly change subtitles
Conflicts:

	gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Thiago Santos
605d5c110c playbin2: fix subtitle only seeks when switching to external subs
Sending a non-flushing seek might not be enough for switching
to an external sub that has already been used because the flushes
are needed to reset the state of its decodebin's queue.

For example, if the subtitle is short enough, the queue might get
and EOS and keep its 'unexpected' return state. If the user switches
to another subtitle and back to the external one, the buffers
won't get past the queue.

This patch fixes this by adding the flush flag to the seek and
preventing that this flush leaves the suburidecodebin.

https://bugzilla.gnome.org/show_bug.cgi?id=638168

Conflicts:

	gst/playback/gstplaybin2.c
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
bd5cfff9de gstplaysink: Properly reset chain when receiving a custom flush event.
https://bugzilla.gnome.org/show_bug.cgi?id=638168

Conflicts:

	gst/playback/gstplaysink.c
2012-06-06 16:31:08 -03:00
Thiago Santos
0dfb331cfd playsink: do not store more than a second of subtitles
Use a shorter queue for subtitles to avoid switches for subtitles
taking longer than they already take.

https://bugzilla.gnome.org/show_bug.cgi?id=638168
2012-06-06 16:31:08 -03:00
Thiago Santos
c095dc29fe subtitleoverlay: pass correct parameter to debug message
Get the format name to pass to the debug message, as it expects a string
2012-06-06 16:31:08 -03:00
Andre Moreira Magalhaes (andrunko)
5627aa81bd gstsuboverlay: Convert NewSegment events to always be in the TIME format.
https://bugzilla.gnome.org/show_bug.cgi?id=638168

Conflicts:

	gst/playback/gstsubtitleoverlay.c
2012-06-06 16:31:07 -03:00
Wim Taymans
a2172bdb4b update for tag event change 2012-06-06 13:05:47 +02:00
Wim Taymans
7a3830c40a videotestsrc: Remove more redundant code
Use the video library to do the setup instead of keeping a separate incomplete
list.
2012-06-06 11:18:56 +02:00
Wim Taymans
dd907f2a6e videotestsrc: don't artificially restrict caps
Use all the formats that the video library supports without any restrictions on
colorimetry or other parameters such as chroma-siting.
2012-06-06 11:18:56 +02:00
Wim Taymans
ec4ca4773a videoconvert: refactor matrix setup 2012-06-04 20:36:10 +02:00
Wim Taymans
93c3a74755 videoconvert: fix 0_255 handling
We also need to apply an offset to the Cb and Cr samples in the 0-255 case.
2012-06-04 16:17:32 +02:00
Wim Taymans
29edc0c6a5 videoconvert: improve color transform setup
Remove hardcoded color matrices and compute the matrices using the cms helper
library that was in cogcolorspace before.
2012-06-04 16:17:31 +02:00
Wim Taymans
443b0a3c78 videoconvert: use video helper library more
Use VideoInfo to setup the conversion.
Use the color matrix from the video info.
2012-06-01 12:09:44 +02:00
Wim Taymans
7f134c1441 video: fix paletted format
RGB8_PALETTED -> RGB8P
Fix the definition of paletted formats, store the palette in the second
plane.
Make sure we copy the palette correctly in gst_video_frame_copy()
Don't do alignment on the palette in videopool
2012-05-31 13:44:43 +02:00
Bastien Nocera
02abd19584 uridecodebin: Use cache dir for download buffering
Instead of the temp directory. See:
http://0pointer.de/blog/projects/tmp.html

https://bugzilla.gnome.org/show_bug.cgi?id=677181
2012-05-31 12:54:49 +02:00
Wim Taymans
c7b2011d68 videoconvert: use video library pack/unpack
Remove obsolete code and use the video pack/unpack functions
2012-05-30 17:17:24 +02:00
Wim Taymans
d7af12a754 videotestsrc: enable more formats 2012-05-30 17:17:24 +02:00
Wim Taymans
0290e116eb videotestsrc: use generic packing code
Use the pack functions of the video library to construct the target
image.
Remove redundant functions.
2012-05-29 17:52:07 +02:00
Wim Taymans
059a6ca673 video: update for removed formats 2012-05-29 17:52:06 +02:00
Wim Taymans
f859dcd699 videoconvert: remove unused functions 2012-05-29 17:52:06 +02:00
Wim Taymans
03dc5d4a1b video: fix UYVP packing function 2012-05-28 17:11:46 +02:00
Wim Taymans
ae2c5e1757 videoconvert: fix v216 2012-05-28 16:31:14 +02:00
Wim Taymans
27d4061c6c videotestsrc: add support for I420_10 format
Add support for the I420_10 formats
Use the video frame api to get pixels and strides instead of our own
custom versions. Fixes the YVU9 format and probably some others.
2012-05-28 16:16:24 +02:00
Wim Taymans
0d12423aa2 videotestsrc: fix AYUV64 format string 2012-05-28 14:58:52 +02:00
Wim Taymans
d2a1613a43 videoconvert: add support for 10bit I420
Add support for 10bit I420
Reorganize some macros, have separate plane and component macros, fix
a problem with YV12 in the process.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=665034
2012-05-28 12:59:40 +02:00
Wim Taymans
29d24d4658 playbin: add current-*uri properties
Make the uri property getter return the next uri, like it was configured in the
setter.
Make a new current-uri and current-suburi property that reflects the currently
playing uri and suburi.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676665
2012-05-25 15:18:46 +02:00
Wim Taymans
4ebfa58a70 playbin: fix compilation 2012-05-24 13:43:06 +02:00
Sebastian Dröge
a67d9b349d playbin2: Put sinks before the other element factories in the autoplug factory list
This makes sure that we always prefer sinks that support a format without
decoding, independant of its rank. Previously we only sorted by rank.

Conflicts:

	gst/playback/gstplaybin2.c
2012-05-24 11:50:40 +02:00
Sebastian Rasmussen
6c2aea9551 Fix bug where debug category was declared inside a function
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=676670
2012-05-24 10:33:02 +02:00
Tim-Philipp Müller
1c77a3d801 encodebin: don't access GstElementFactory structure directly 2012-05-19 15:17:18 +01:00
Alban Browaeys
71e39c0e84 playsink: do not abort if a property is not found.
If a property is not found (for example last-sample when
gst_debug_bin_to_dot_file is used while the pipeline is
slightly broken (thus no last-sample) the unref of the item
gvalue which is not refed fails. Only unref if it was found.
2012-05-15 09:22:44 +02:00
Alban Browaeys
7e054c9af0 playsink: missing guard around gst pad add probe
This miss prevent from switching from one track to the other.
Issue encountered with rhythmbox and totem ports.
2012-05-15 09:22:12 +02:00
Mark Nauwelaerts
4ce453de97 playbin2: default text element is now subtitleoverlay
... and not so much textoverlay, though the former also uses the latter.
2012-05-14 10:14:36 +02:00
Tim-Philipp Müller
0e216d1f4c typefinding, ogg: don't bother with annodex media types
They're hardly used, and probably more confusing than anything
else, and it's not clear that anyone would really need to be
able to tell them apart at the media type level.
2012-05-13 18:49:31 +01:00
Руслан Ижбулатов
d34b8023e9 playsink: fix printf arguments in debug message 2012-05-12 13:53:40 +01:00
Wim Taymans
6bd0272512 uridecodebin: fix format strings 2012-05-11 16:16:33 +02:00
Wim Taymans
cd1d6f7d2d decodebin2: fix format strings 2012-05-11 15:33:31 +02:00
Wim Taymans
163720246e decodebin2: fix compilation 2012-05-11 09:26:47 +02:00
Thibault Saunier
445c41963b playback: Check type when setting "connection-speed" on unknown elements
Clamp the values if needed
2012-05-10 13:21:04 -04:00
Thibault Saunier
ee4ae0041c decodebin2: Add a connection-speed property to set it on demuxers when needed
Proxy it from uridecodebin
2012-05-10 13:11:47 -04:00
Sebastian Dröge
cc717f1f62 playsink: Initialize variable to silence wrong compiler warning 2012-05-09 12:03:44 +02:00
Sebastian Dröge
d7371bc87c playsink: Port changes to 0.11 2012-05-09 10:30:55 +02:00
Mark Nauwelaerts
e623bea6fa playbin2: properly reconfigure upon subsequent no-more-pads
... such as during switch in chained ogg.
2012-05-09 10:28:35 +02:00
Sebastian Dröge
4e649b5bff videotestsrc: Update for basesrc API changes 2012-05-01 13:33:20 +02:00
Wim Taymans
7736044d45 playsink: make playsink reusable
The sinkpads are unblocked when going from PAUSED->READY, we need to block them
again when going READY->PAUSED. The blocking of the pad previously only happened
when it was freshly obtained with _request_pad or when the caps changed. If we
don't release the pad when going to READY it was previously never blocked again
causing not-linked errors.
2012-05-01 12:19:11 +02:00
Wim Taymans
f21b7437e7 playsink: don't leak the colorbalance element 2012-05-01 12:09:31 +02:00
Tim-Philipp Müller
0bd4e5d1e1 typefinding: more fine-grained matroska/webm typefinding
Typefind to audio/x-matroska, video/x-matroska, audio/webm,
video/webm and video/x-matroska-3d.

http://www.webmproject.org/code/specs/container/#naming
http://matroska.org/technical/specs/notes.html
2012-04-28 15:51:03 +01:00
Mark Nauwelaerts
9ea22283d0 gdppay: plug buffer leak 2012-04-25 22:28:44 +02:00
Mark Nauwelaerts
56602aa8fc tcpclientsink: ensure proper cleanup upon startup error 2012-04-24 17:15:23 +02:00
Sebastian Dröge
ecb7156822 subparse: Allow newlines/whitespace at the beginning of subrip files
For example the Sintel subtitles have this and without this change
they're detected as text/plain and not usable as subtitles. The
parser itself already handles this just fine.
2012-04-24 10:16:45 +02:00
Sebastian Dröge
c84108de3c video: Update for libgstvideo API changes 2012-04-19 12:30:57 +02:00
Mark Nauwelaerts
a008aa0b46 collectpads2: rename to collectpads 2012-04-17 15:09:58 +02:00
Mark Nauwelaerts
b1a90e43c8 adder: correctly adjust to modified collectpads2 event handling 2012-04-17 13:50:29 +02:00
Akihiro Tsukada
94beeb713a playbin2: Don't hold the playbin lock in the autoplug-continue callback
It's not necessary there as the group lock already protects everything
we access here and causes deadlocks in some cases.

Fixes bug #673708.
2012-04-17 09:57:17 +02:00
Mark Nauwelaerts
1f995a1c7e adder: chain up to collectpads event handler 2012-04-16 16:30:38 +02:00
Matej Knopp
b6765417e1 decodebin: Do not block on sticky and oob events 2012-04-16 13:49:07 +02:00
Sebastian Dröge
fe9041bd05 decodebin2: Check that properties have the correct type before using them 2012-04-16 08:27:20 +02:00
Sebastian Dröge
15d92392b5 uridecodebin: Check that properties have the correct type before using them 2012-04-16 08:27:09 +02:00
Tim-Philipp Müller
497d87061d typefinding: more fine-grained ogg typefinding
Typefind to audio/ogg, video/ogg, etc. Also change
application/x-annodex to application/annodex.

See http://wiki.xiph.org/MIME_Types_and_File_Extensions
2012-04-15 22:38:10 +01:00
Julian Scheel
fd4c8d9252 uridecodebin: Never treat live sources as streaming sources.
For streaming sources a queue is added before the demuxer, which can not be
properly filled by live sources. As http source can be live sources, this
caused issues for example with http live sources.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674057
2012-04-14 10:52:26 +02:00
Sebastian Dröge
69b18ab09d gst-libs: Remove interfaces libs and mixer/tuner interfaces
The navigation interface is now in the video library.
2012-04-13 13:14:13 +02:00
Mark Nauwelaerts
62cc0cade7 tcp: update property documentation to reference correct property 2012-04-11 21:45:46 +02:00
Tim-Philipp Müller
3c6a3ad629 Use new gst_element_class_set_static_metadata() 2012-04-10 00:45:16 +01:00
Sebastian Dröge
ec2e470ecc playback: Remove gstdecodebin.c, which is nowaday unused anyway 2012-04-06 10:54:42 +02:00
Sebastian Dröge
ad42b16375 gst: Update for GST_PLUGIN_DEFINE() API change 2012-04-05 15:11:05 +02:00
Mark Nauwelaerts
0ad7fe0590 encodebin: release additional obtained caps reference 2012-04-04 19:57:27 +02:00
Thiago Santos
6eee006e82 Merge branch '0.10' 2012-04-04 13:56:17 -03:00
Thiago Santos
4b349306b0 playbin2: Use new playsink send-event-mode property
Set playsink's send-event-mode to MODE_FIRST as playbin2 only
needs one event going to the demuxer for its operation

https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:38:29 -03:00
Thiago Santos
84abbe0d52 playsink: add send-event-mode property
Adds a property for playsink to define how it should handle
events sent in send_event function. The default is the same as
GstBin's, sending events to all internal sinks. There is also
mode-first, that will send to sinks until the one handles the
event successfully.

https://bugzilla.gnome.org/show_bug.cgi?id=673211
2012-04-04 11:38:29 -03:00
Sebastian Dröge
65307dd132 gst: Update versioning 2012-04-04 14:55:15 +02:00
Mark Nauwelaerts
481b1beece adder: event handling and leak fixes 2012-04-03 18:31:24 +02:00
Mark Nauwelaerts
6656affdfa videoconvert: plug caps leak 2012-04-02 17:03:48 +02:00
Raimo Järvi
086bee8c14 tcp: Fix compiling with mingw
https://bugzilla.gnome.org/show_bug.cgi?id=673056
2012-04-02 11:26:45 +02:00
Wim Taymans
b52c035f13 audioconvert: remove useless transform_ip function 2012-04-02 11:21:26 +02:00
Wim Taymans
bf908a385b volume: use transform_ip_on_passthrough 2012-04-02 11:11:33 +02:00
Wim Taymans
9ef519d99a Improve buffer allocation of wrapped memory 2012-04-01 18:11:23 +02:00
Wim Taymans
345dc31f20 update for buffer api change 2012-03-30 18:15:30 +02:00
Mark Nauwelaerts
aaf84a941e audioconvert: plug caps leak 2012-03-30 16:56:40 +02:00
Edward Hervey
05a778b1c4 typefind: Use unchecked byte reader methods where possible
The size is checked before, so we can use them.
2012-03-30 12:04:15 +02:00
Sebastian Dröge
9e13d70b2c Merge remote-tracking branch 'origin/0.10'
Conflicts:
	gst-libs/gst/video/video-overlay-composition.c
	tests/check/libs/video.c
2012-03-29 15:00:22 +02:00
Wim Taymans
69298c5534 update for buffer changes 2012-03-28 12:53:01 +02:00
Sebastian Dröge
4872c7bf75 playsink: Fix subtitle rendering if there's no video, no visualizations but a text-sink 2012-03-23 11:07:49 +01:00
Wim Taymans
1982d1ce12 Release 0.11.3 2012-03-22 15:51:39 +01:00
Wim Taymans
32bd12dba9 Merge branch 'master' into 0.11
Conflicts:
	.gitignore
	common
	configure.ac
	ext/vorbis/gstvorbisdeclib.h
	gst-libs/gst/audio/gstaudioencoder.c
	gst-libs/gst/riff/riff-read.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkconvertbin.c
	tests/check/libs/video.c
2012-03-22 11:35:13 +01:00
Wim Taymans
dd819ddc6b orc: avoid precompilation
Avoid compiling all the functions at startup but compile only what's needed when
needed.
2012-03-20 15:37:42 +01:00
Wim Taymans
e13a7c76a7 videotestsrc: fix decide_allocation
We want to propose a videopool even if downstream didn't provide one.
2012-03-16 20:22:19 +01:00
Wim Taymans
7c0e2b5b1e update for allocation query changes 2012-03-15 20:36:51 +01:00
Vincent Penquerc'h
73605cb33d playsink: send navigation event to the sink as a fallback
When the video sink is a fakesink, which does not implement the
navigation interface, playsink will drop the navigation command.
In this case, send to the video sink as a fallback. It breaks
the interface abstraction, but is better than just dropping the
navigation event.
2012-03-15 13:02:34 +00:00
Wim Taymans
df5253b22c update for memory api changes 2012-03-15 13:32:08 +01:00
Wim Taymans
39d78762b9 take padding into account 2012-03-14 19:56:51 +01:00
Mark Nauwelaerts
9fc640b9e0 playsink: remove circular ref between bin and internal pad
... by not assigning an additional ref to an async blocked callback,
which should not be called anyway by the time the object is gone.

Fixes #672006.
2012-03-14 17:32:10 +01:00
Mark Nauwelaerts
d13e1b49f6 playsink: provide fresh copy for gst_caps_merge
... since it is documented to modify provided caps.
2012-03-13 15:28:00 +01:00
Wim Taymans
9d8db57eb0 videotestsrc: don't leak the bufferpool 2012-03-12 19:51:21 +01:00
Wim Taymans
25137962ad fix for caps API changes 2012-03-11 19:04:41 +01:00
Mark Nauwelaerts
8c99412a0d playbin2: do not take a superfluous ref on uridecodebin instances
... which are no longer FLOATING.
2012-03-09 14:19:41 +01:00
Mark Nauwelaerts
5fee17ac8f uridecodebin: restore FLOATING flag when reusing decodebin instance
... which avoids leaking these due to an extra ref later on.
2012-03-09 14:19:14 +01:00
Tim-Philipp Müller
29c266ccff Merge remote-tracking branch 'origin/master' into 0.11
Conflicts:
	common
	docs/libs/gst-plugins-base-libs.types
	ext/pango/gsttextoverlay.c
	ext/vorbis/gstvorbisdec.c
	gst/playback/gstplaysink.c
	gst/playback/gstplaysinkconvertbin.c
	sys/ximage/ximagesink.c
	sys/xvimage/xvimagesink.c
2012-03-08 20:31:34 +00:00
Mark Nauwelaerts
b2a162ca77 playsink: audio convert bin need not be unconditionally present
... so avoid NULL manipulation when setting up chain again
(e.g. after having partially gone down to READY in native audio flag
configuration).
2012-03-08 17:58:17 +01:00
Mark Nauwelaerts
5462536a36 playsink: plug element leak 2012-03-08 15:35:46 +01:00
Wim Taymans
37541750d2 videoscale: fix broken format filter
Simply intersect the format with the supported formats to make the code deal
with lists of formats.
2012-03-08 10:22:49 +01:00
Sebastian Dröge
15091ad124 playsink: Chain up to the parent's GstBin::handle_message() for non-prepare-xoverlay element messages 2012-03-05 15:24:20 +01:00
Wim Taymans
d8f698fe20 x-raw-bayer -> x-bayer
Rename x-raw-bayer to x-bayer. We might want to merge this with x-raw eventually
but for now keep the x-raw namespace clean.
2012-03-05 12:42:27 +01:00
Wim Taymans
abca785f0f videoconvert: use base class new vmethods
Use the base class filter_meta to proxy all metadata upstream.
Use the base class transform_meta to let it copy all non-colorspace dependent
metadata.
2012-03-02 17:35:40 +01:00
Wim Taymans
5595c0a7df videoconvert: remove old metadata code
The subclass can help us better
2012-03-02 17:12:25 +01:00
Wim Taymans
df004b586e videoconvert: update for copy data changes 2012-03-02 13:11:36 +01:00
Wim Taymans
9a21eda38c videoscale: remove old caps fields 2012-03-02 13:11:36 +01:00
Sebastian Dröge
a80c82cd80 playback: Link to libgstinterfaces too for the navigation interface 2012-03-02 11:31:23 +01:00
Sebastian Dröge
006f8f8275 gst: Update for gstmarshal.[ch] removal 2012-03-02 11:15:02 +01:00
Sebastian Dröge
84a02f9f13 Merge branch '0.11' of ssh://git.freedesktop.org/git/gstreamer/gst-plugins-base into 0.11 2012-03-02 10:13:52 +01:00
Sebastian Dröge
1cbcb9281c mixer/colorbalance: Update for API changes 2012-03-02 10:00:59 +01:00
Sebastian Dröge
f7939bb43f Merge branch 'master' into 0.11
Conflicts:
	NEWS
	RELEASE
	configure.ac
	docs/plugins/gst-plugins-base-plugins.args
	docs/plugins/gst-plugins-base-plugins.hierarchy
	docs/plugins/gst-plugins-base-plugins.interfaces
	docs/plugins/inspect/plugin-adder.xml
	docs/plugins/inspect/plugin-alsa.xml
	docs/plugins/inspect/plugin-app.xml
	docs/plugins/inspect/plugin-audioconvert.xml
	docs/plugins/inspect/plugin-audiorate.xml
	docs/plugins/inspect/plugin-audioresample.xml
	docs/plugins/inspect/plugin-audiotestsrc.xml
	docs/plugins/inspect/plugin-cdparanoia.xml
	docs/plugins/inspect/plugin-encoding.xml
	docs/plugins/inspect/plugin-ffmpegcolorspace.xml
	docs/plugins/inspect/plugin-gdp.xml
	docs/plugins/inspect/plugin-gio.xml
	docs/plugins/inspect/plugin-gnomevfs.xml
	docs/plugins/inspect/plugin-libvisual.xml
	docs/plugins/inspect/plugin-ogg.xml
	docs/plugins/inspect/plugin-pango.xml
	docs/plugins/inspect/plugin-playback.xml
	docs/plugins/inspect/plugin-subparse.xml
	docs/plugins/inspect/plugin-tcp.xml
	docs/plugins/inspect/plugin-theora.xml
	docs/plugins/inspect/plugin-typefindfunctions.xml
	docs/plugins/inspect/plugin-uridecodebin.xml
	docs/plugins/inspect/plugin-videorate.xml
	docs/plugins/inspect/plugin-videoscale.xml
	docs/plugins/inspect/plugin-videotestsrc.xml
	docs/plugins/inspect/plugin-volume.xml
	docs/plugins/inspect/plugin-vorbis.xml
	docs/plugins/inspect/plugin-ximagesink.xml
	docs/plugins/inspect/plugin-xvimagesink.xml
	gst-libs/gst/app/gstappsink.c
	gst-libs/gst/audio/mixer.c
	gst-libs/gst/audio/mixer.h
	gst-libs/gst/tag/gstxmptag.c
	gst-libs/gst/video/colorbalance.c
	gst-libs/gst/video/colorbalance.h
	gst/adder/gstadder.c
	gst/playback/gstplaybasebin.c
	gst/playback/gstplaybin2.c
	gst/playback/gstplaysink.c
	gst/videoscale/gstvideoscale.c
	tests/check/elements/videoscale.c
	tests/examples/seek/seek.c
	tests/examples/v4l/probe.c
	win32/common/_stdint.h
	win32/common/audio-enumtypes.c
	win32/common/config.h
2012-03-02 10:00:55 +01:00
Wim Taymans
dcd277b916 videoconvert: proxy allocation meta when we can
Proxy all the metadata APIs in the allocation query.
Remove all metadata that is dependent on the colorspace, copy others.
2012-03-01 17:36:08 +01:00
Stefan Sauer
44ff1b3b89 adder: drop newsegment events on sink-pads
Adder is sending an own newsegment event on the src pad.
2012-02-29 21:54:49 +01:00
Stefan Sauer
ce1b1d82e3 adder: sink event handling fix
Turn _sink_event() into the collectpads event function and merge the logic from
the recently added gst_adder_event. Drop flush_start events as we allready
handle them on the src-pad side. Fixes #670850.
2012-02-28 20:54:54 +01:00
Edward Hervey
59918e841f Suppress deprecation warnings in selected files, for g_value_array_* mostly 2012-02-27 14:28:15 +01:00
Wim Taymans
ef980bc09b audioconvert: improve fixation 2012-02-27 12:52:07 +01:00
Stefan Sauer
3975c10907 adder: include event name in log message 2012-02-27 12:04:38 +01:00
Tim-Philipp Müller
63d1316c0f videoscale: fix negotiation after addition of new formats and methods
Now that we no longer support all methods for all formats, we
need to cater for that in the transform function: we can't
transform formats not supported by the currently-selected
mehod.

make check, folks. It's da bomb.
2012-02-26 23:46:50 +00:00
Alessandro Decina
9f1732fba7 Fix compiler warnings 2012-02-26 20:36:46 +01:00
Wim Taymans
14387953a0 update for basetransform change 2012-02-24 11:03:16 +01:00
Sebastian Dröge
361e1e2e98 playsink: Use g_signal_handlers_block_by_func()/unblock_by_func() instead of disconnecting and reconnecting 2012-02-23 13:41:25 +01:00
Sebastian Dröge
0ef49c5275 playbin2: Proxy colorbalance interface 2012-02-23 13:32:00 +01:00
Sebastian Dröge
4289c0c899 playsink: Proxy colorbalance interface 2012-02-23 13:32:00 +01:00
Sebastian Dröge
46a3ea011d playbin2: Proxy navigation interface 2012-02-23 11:56:37 +01:00
Sebastian Dröge
d5779c96c4 playsink: Proxy navigation interface 2012-02-23 11:54:27 +01:00
Sebastian Dröge
9dab4a8477 playbin2: Proxy the XOverlay interface 2012-02-23 11:42:55 +01:00
Sebastian Dröge
993c6e006a playsink: Proxy the XOverlay interface 2012-02-23 11:33:27 +01:00
Wim Taymans
642ca2bd40 audioresample: remove transform lock
In this particular case it was not sufficient anyways because the setcaps
function didn't take the transform lock.
2012-02-23 11:19:52 +01:00
Sebastian Dröge
b8343b4a14 playsink: Force the aspect ratio if the sink has such a property 2012-02-23 11:05:11 +01:00
Wim Taymans
7d58b0aa0b videoconvert: improve fixation
Use the fixed upstream caps to fixate the output caps by taking the
intersection.
2012-02-22 15:31:12 +01:00
Sebastian Dröge
2c565f72df playsink: Only use the sink's colorbalance interface if it supports at least brightness/contrast/hue/saturation 2012-02-22 14:57:31 +01:00
Sebastian Dröge
8bcf96198e playsinkvideoconvert: Fix element name 2012-02-22 14:12:16 +01:00
Wim Taymans
9212619549 update for new fixate_caps function 2012-02-22 12:32:44 +01:00
Sebastian Dröge
56737a2ab1 playbin2: Give a fixed name "playsink" to the internal playsink element 2012-02-22 12:17:47 +01:00
Sebastian Dröge
68220a1893 playsink: Only really use software volume if requested 2012-02-22 12:08:35 +01:00
Sebastian Dröge
dfa508ffa1 playsink: Add a software color-balance element before the sink if the sink doesn't support changing the color-balance 2012-02-22 12:08:10 +01:00
Tim-Philipp Müller
aa7ee3733d videotestsrc: fix YV12 chroma plane confusion
GST_VIDEO_FRAME_PLANE_DATA() returns the data for the n-th plane,
not the n-th component. In this case, the chroma planes are swapped.
2012-02-22 09:58:20 +00:00
Sebastian Dröge
018bb2ca6f playsink: Implement GstStreamVolume interface 2012-02-22 10:23:26 +01:00
Wim Taymans
63f3f27164 update for new memory api 2012-02-22 02:05:24 +01:00
David Schleef
df11b1a5d1 colorspace: Fix v210 writing out of bounds
Port from 0.10 branch in -bad
2012-02-21 10:05:20 +01:00
Wim Taymans
d2ea46cdbf Merge branch 'master' into 0.11
Conflicts:
	tests/examples/seek/seek.c
2012-02-21 10:01:30 +01:00
David Schleef
bb19c41081 videoconvert: clamp intermediates when dithering
Port from the colorspace plugin in -bad.
2012-02-20 16:10:22 +01:00
Wim Taymans
4370d42cb9 playback: find raw caps correctly 2012-02-20 15:21:37 +01:00
Wim Taymans
6678c531e0 videoconvert: try to preserver colorimetry and chroma-site
Try to preserve the original chroma-site and colorimetry when nothing else was
negotiated.
2012-02-20 12:36:02 +01:00
David Schleef
f8dc679ca7 videoscale: fix AYUV64 scaling 2012-02-19 00:05:08 -08:00
Wim Taymans
b2946746ae ssaparse: set caps on srcpad 2012-02-17 14:37:36 +01:00