Sebastian Dröge
0693b78e86
adder: Don't calls gst_pad_set_caps() on sinkpads
...
It doesn't make much sense and the CAPS query handling
on the sinkpads should handle this.
2013-05-30 23:56:52 +02:00
Sebastian Dröge
5e63a0f674
adder: Set GAP flag on silence buffers we created
2013-05-30 23:56:52 +02:00
Sebastian Dröge
667b856cbc
adder: Remove caching of the processing function
...
The compiler will generate a hashtable from the switch-case, and
we need to call functions explicitely for the volume!=1.0 cases
anyway.
2013-05-30 23:56:52 +02:00
Sebastian Dröge
a76ade2d78
adder: Add support for per-stream volumes
2013-05-30 23:56:52 +02:00
Sebastian Dröge
addb07bc58
adder: Add optimized orc code for F64 processing
2013-05-30 23:56:52 +02:00
Sebastian Dröge
308c8fef68
adder: The output buffer must be readable and writable
2013-05-30 23:56:51 +02:00
Sebastian Dröge
509246cbac
adder: Add support for muting individual pads
2013-05-30 23:56:51 +02:00
Sebastian Dröge
3974379a7f
adder: Sync pad properties with the GstController
2013-05-30 23:56:51 +02:00
Sebastian Dröge
561ce54b27
adder: Add custom GstPad subclass to hold additional data and properties
...
This will later allow to set per-stream volumes and mute status.
2013-05-30 23:56:51 +02:00
Wim Taymans
00bbca2f9f
videoconvert: free tmplines correctly
...
Keep track of how many tmplines we allocated and use that to free the
correct amount of lines.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701234
2013-05-30 05:27:31 +02:00
Daniel Drake
d32d2f0b14
playsink: pass translated color balance value to channel
...
We found a case where untranslated values were being passed from the
proxy to the underlying channel, causing bad color balance values
in some setups.
Thanks to Sebastian Dröge for clarifying how the code works, and
suggesting the fix.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701202
2013-05-29 20:20:10 +02:00
Brendan Long
96aab6d8a5
playbin: Don't take an extra reference to the custom stream combiners
...
They are automatically reffed when added to the bin because they're
already not floating anymore.
2013-05-29 20:12:48 +02:00
Sebastian Dröge
0dee7777ff
playbin: Set custom stream-combiners to NULL and unref before finalizing
2013-05-29 10:35:11 +02:00
Brendan Long
53caa99a59
playbin: Rename select to combine and selector to combiner in playbin
2013-05-29 09:53:34 +02:00
Brendan Long
ba5f6cfe72
playbin: Add support for custom stream-combiners
...
This allows to chose something else than input-selector
for multiple audio/video/text streams, e.g. an adder could
be used for audio.
It is needed for example to implement some of the more
advanced HTML5 video features.
https://bugzilla.gnome.org/show_bug.cgi?id=698851
2013-05-29 09:52:32 +02:00
Sebastian Dröge
14192c031a
decodebin: Don't call autoplug-query on shutdown
...
And remove leftover debug code
2013-05-28 13:32:23 +02:00
Sebastian Dröge
e482b5b8e6
playbin: In autoplug-queries, add the actual decoder/parser/etc template caps
...
Add the actual decoder/parser/etc caps at the very end to
make sure we don't cause empty caps to be returned, e.g.
if a parser asks us but a decoder is required after it
because no sink can handle the format directly.
2013-05-28 13:23:40 +02:00
Sebastian Dröge
a4ec6fe0b7
playbin: Forward CONTEXT queries to the corresponding sink if we have one
...
https://bugzilla.gnome.org/show_bug.cgi?id=700967
2013-05-28 13:14:15 +02:00
Sebastian Dröge
e5064ee723
playbin: Refactor autoplug-query handling
...
We now only check sinks and factories of the corresponding media
type. It doesn't make sense to pass audio/subtitle caps to a video
decoder.
2013-05-28 13:08:00 +02:00
Sebastian Dröge
d366613401
decodebin: Block on serialized queries too
...
Otherwise we will only block after the serialized, non-sticky event
after the CAPS event or the first buffer. If we're waiting for another
pad to finish autoplugging after we got final caps on this pad, it
will mean that we will let the ALLOCATION query pass although the
pad is not exposed yet.
2013-05-28 13:06:15 +02:00
Sebastian Dröge
9513b770f4
decodebin: Pass the element in the autoplug-query signal too
2013-05-28 12:10:33 +02:00
Sebastian Dröge
730e633d58
decodebin: Need to lock the chain mutex in autoplug_query
2013-05-28 11:40:51 +02:00
Sebastian Dröge
b86267b5be
playsinkconvertbin: Fix leak of the downstream caps filter
2013-05-28 11:36:58 +02:00
Sebastian Dröge
db8d53bc17
playbin: Refactor autoplug-query handling a bit
2013-05-28 11:05:21 +02:00
Wim Taymans
7b8ff707b6
videoconvert: run chroma resamplers
...
Run the chroma upsampler after unpack and the chroma subsampler
before pack for higher quality conversions and correct chroma siting.
2013-05-27 11:05:08 +02:00
Wim Taymans
e5bc2b0d05
videotestsrc: subsample chroma before packing
...
Run the chroma subsampler before packing.
2013-05-27 11:05:08 +02:00
Wim Taymans
4f2e1b46a7
videoconvert: reformat
2013-05-27 11:05:06 +02:00
Wim Taymans
620e3aad07
videoconvert: actually use the input pixels
...
Operate on the provided pixels array instead of the temp array.
2013-05-27 11:05:06 +02:00
Sebastian Dröge
92af499eb7
typefind: Ensure we have enough data when reading the sync marker in the AAC/LOAS typefinder
2013-05-24 17:43:53 +02:00
Sebastian Dröge
fa7ad8743c
decodebin: Lock the state of child elements as long as we manage their states
...
https://bugzilla.gnome.org/show_bug.cgi?id=690420
2013-05-24 13:41:46 +02:00
Sebastian Dröge
be4dba23ea
Revert "decodebin2: use NO_RESYNC flag"
...
This reverts commit 0feecef275
.
2013-05-24 11:47:13 +02:00
Sebastian Dröge
ca1279e4a3
decodebin: Use signal handler IDs instead of disconnecting by function
...
This is cleaner and faster.
2013-05-22 17:29:17 +02:00
Sebastian Dröge
504e57ccc5
decodebin: Connect and disconnect the have-type signal of typefind before starting/shutting down
2013-05-22 13:49:18 +02:00
Sebastian Dröge
f4952a9baf
typefind: Add variant=itu to the h263 typefinder caps
...
https://bugzilla.gnome.org/show_bug.cgi?id=700770
2013-05-22 10:58:10 +02:00
Sebastian Dröge
1756f86042
playsink: Use signal handler IDs instead of disconnecting/blocking by function
...
This is cleaner and faster.
2013-05-21 16:35:18 +02:00
Sebastian Dröge
d802c7395a
playback: Only do a subset filtering for the factories if we have fixed caps
...
Otherwise we're plugging a parser/converter currently and have unfixed caps.
2013-05-15 17:15:18 +02:00
Sebastian Dröge
062246fc6e
decodebin: Return immediately from checking if a chain is complete if we're shutting down
2013-05-15 14:51:16 +02:00
Sebastian Dröge
83f2476976
decodebin: Hold the expose lock when freeing a chain
...
https://bugzilla.gnome.org/show_bug.cgi?id=700342
2013-05-15 14:47:53 +02:00
Sebastian Dröge
74a31a02fc
playbin: Fix deadlock caused by lock order inversion
...
First the source group lock, then the elements list lock.
2013-05-15 13:38:32 +02:00
Sebastian Dröge
450a47c0a5
playback: Use subset checks instead of intersection
...
https://bugzilla.gnome.org/show_bug.cgi?id=700272
2013-05-14 10:07:44 +02:00
Sebastian Dröge
b19d64d785
subparse/ssaparse: Fix event handling and order
2013-05-10 12:21:31 +02:00
Mathieu Duponchelle
aec0e48aa1
videorate: Reset base timestamp and out_frame_count in any case on SEGMENT_EVENT
...
Fixes #699187
2013-05-09 16:22:13 +02:00
Sebastian Dröge
b0ec886cb9
playbin2: Chose more balanced metric to compare ranks of decoder/sink combinations
2013-05-09 15:05:21 +02:00
Sebastian Dröge
b23f4e4ab9
playbin: Fix infinite loop in GSequence iteration code
2013-05-08 21:27:17 +02:00
Sebastian Dröge
4c52518ef5
uridecodebin: Always store queue2 elements for later removal
...
Otherwise we accumulate more and more queue2 elements, and let each
of them start a thread doing nothing but waiting each time uridecodebin
goes to PAUSED.
https://bugzilla.gnome.org/show_bug.cgi?id=699794
2013-05-08 14:52:18 +02:00
Andoni Morales Alastruey
3ad2dec005
typefind: fix detection of HLS playlists with alternative renditions
...
https://bugzilla.gnome.org/show_bug.cgi?id=699923
2013-05-08 13:23:52 +02:00
Sebastian Dröge
7ff4f8f4d4
playbin: Use the GSequence more efficiently
...
This makes it possible to take advantage of the O(log n) lookups
of GSequence on the ~1000 element lists and only do iterations
on <10 element lists. Previously the code iterated over ~1000 element
lists multiple times.
2013-05-07 15:23:05 +02:00
Sreerenj Balachandran
52c5115ff0
playbin: Use GSequence instead of GList to store the GstAVElement list.
...
The GstAVElement list might be big. Use GSequence to optimize it.
2013-05-07 15:23:05 +02:00
Sreerenj Balachandran
a8d1b45491
playbin: autoplug the audio/video decoders and sinks based on capsfeatures.
...
Autoplug the decoder elements and sink elements based on
the number of common capsfeatures if the ranks are the same.
This will also helps to autoplug the h/w_decoder and h/w_renderer.
https://bugzilla.gnome.org/show_bug.cgi?id=698712
2013-05-07 15:23:05 +02:00
Sebastian Dröge
b719dd9f89
decodebin: Expose pads when they receive EOS before any buffers
...
Stops decodebin from waiting forever to expose a pad if there
is never data on it.
https://bugzilla.gnome.org/show_bug.cgi?id=691072
2013-05-06 15:49:00 +02:00