platform/upstream/gstreamer.git
11 years agortsp: use GSocketClient for making connections
Wim Taymans [Fri, 5 Apr 2013 14:50:48 +0000 (16:50 +0200)]
rtsp: use GSocketClient for making connections

Use the GSocketClient API for making connections with the server. This removes a
bit of code and gives us the ability to do TLS later.

11 years agoRevert "rtspconnection: Use a GSocketAddressNumerator to resolve the addresses"
Wim Taymans [Mon, 27 May 2013 13:32:50 +0000 (15:32 +0200)]
Revert "rtspconnection: Use a GSocketAddressNumerator to resolve the addresses"

This reverts commit 15a0bb0a10dcbc99c7f52e28ec9d0395699851ae.

We should be using GSocketClient

11 years agovideoconvert: free tmplines correctly
Wim Taymans [Thu, 30 May 2013 03:24:32 +0000 (05:24 +0200)]
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

11 years agoplaysink: pass translated color balance value to channel
Daniel Drake [Wed, 29 May 2013 16:33:48 +0000 (10:33 -0600)]
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

11 years agoplaybin: Don't take an extra reference to the custom stream combiners
Brendan Long [Wed, 29 May 2013 16:15:36 +0000 (10:15 -0600)]
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.

11 years agoalsasrc: Dump some more debug output about the device configuration
Sebastian Dröge [Wed, 29 May 2013 14:41:14 +0000 (16:41 +0200)]
alsasrc: Dump some more debug output about the device configuration

11 years agoalsasink: Update internal buffer/period times with the values that were configured...
Sebastian Dröge [Wed, 29 May 2013 14:39:17 +0000 (16:39 +0200)]
alsasink: Update internal buffer/period times with the values that were configured on the device

11 years agoplaybin: Rename compressed unit test to complex
Sebastian Dröge [Wed, 29 May 2013 08:37:55 +0000 (10:37 +0200)]
playbin: Rename compressed unit test to complex

It's not really about compressed streams anymore, but also
about stream switching and stream combiners.

11 years agoplaybin: Set custom stream-combiners to NULL and unref before finalizing
Sebastian Dröge [Wed, 29 May 2013 08:35:11 +0000 (10:35 +0200)]
playbin: Set custom stream-combiners to NULL and unref before finalizing

11 years agoplaybin: Add playbin audio-stream-combiner test using adder
Brendan Long [Tue, 28 May 2013 16:59:22 +0000 (10:59 -0600)]
playbin: Add playbin audio-stream-combiner test using adder

11 years agoplaybin: Rename select to combine and selector to combiner in playbin
Brendan Long [Tue, 28 May 2013 17:23:56 +0000 (11:23 -0600)]
playbin: Rename select to combine and selector to combiner in playbin

11 years agoplaybin: Add support for custom stream-combiners
Brendan Long [Fri, 17 May 2013 23:23:46 +0000 (17:23 -0600)]
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

11 years agodecodebin: Don't call autoplug-query on shutdown
Sebastian Dröge [Tue, 28 May 2013 11:32:23 +0000 (13:32 +0200)]
decodebin: Don't call autoplug-query on shutdown

And remove leftover debug code

11 years agoplaybin: In autoplug-queries, add the actual decoder/parser/etc template caps
Sebastian Dröge [Tue, 28 May 2013 11:23:40 +0000 (13:23 +0200)]
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.

11 years agoplaybin: Forward CONTEXT queries to the corresponding sink if we have one
Sebastian Dröge [Tue, 28 May 2013 11:14:15 +0000 (13:14 +0200)]
playbin: Forward CONTEXT queries to the corresponding sink if we have one

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

11 years agoplaybin: Refactor autoplug-query handling
Sebastian Dröge [Tue, 28 May 2013 11:08:00 +0000 (13:08 +0200)]
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.

11 years agodecodebin: Block on serialized queries too
Sebastian Dröge [Tue, 28 May 2013 11:06:15 +0000 (13:06 +0200)]
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.

11 years agodecodebin: Pass the element in the autoplug-query signal too
Sebastian Dröge [Tue, 28 May 2013 10:03:49 +0000 (12:03 +0200)]
decodebin: Pass the element in the autoplug-query signal too

11 years agodecodebin: Need to lock the chain mutex in autoplug_query
Sebastian Dröge [Tue, 28 May 2013 09:40:51 +0000 (11:40 +0200)]
decodebin: Need to lock the chain mutex in autoplug_query

11 years agoplaysinkconvertbin: Fix leak of the downstream caps filter
Sebastian Dröge [Tue, 28 May 2013 09:36:58 +0000 (11:36 +0200)]
playsinkconvertbin: Fix leak of the downstream caps filter

11 years agoplaybin: Refactor autoplug-query handling a bit
Sebastian Dröge [Tue, 28 May 2013 09:05:21 +0000 (11:05 +0200)]
playbin: Refactor autoplug-query handling a bit

11 years agortspconnection: Use a GSocketAddressNumerator to resolve the addresses
Sebastian Dröge [Mon, 27 May 2013 12:53:48 +0000 (14:53 +0200)]
rtspconnection: Use a GSocketAddressNumerator to resolve the addresses

Instead of just trying the first possible resolution we're trying all
resolutions until one works.

11 years agotheoradec: Require caps to be set before data flow happens
Sebastian Dröge [Mon, 27 May 2013 11:04:00 +0000 (13:04 +0200)]
theoradec: Require caps to be set before data flow happens

11 years agovideo-format: fix NV16 unpack
Wim Taymans [Mon, 27 May 2013 09:53:27 +0000 (11:53 +0200)]
video-format: fix NV16 unpack

We can just use the NV12 functions, the only difference is the
vertical subsampling.

11 years agovideo-chroma: add interlaced flag
Wim Taymans [Mon, 27 May 2013 09:25:09 +0000 (11:25 +0200)]
video-chroma: add interlaced flag

11 years agovideoconvert: run chroma resamplers
Wim Taymans [Fri, 17 May 2013 14:34:30 +0000 (16:34 +0200)]
videoconvert: run chroma resamplers

Run the chroma upsampler after unpack and the chroma subsampler
before pack for higher quality conversions and correct chroma siting.

11 years agovideotestsrc: subsample chroma before packing
Wim Taymans [Fri, 17 May 2013 14:26:49 +0000 (16:26 +0200)]
videotestsrc: subsample chroma before packing

Run the chroma subsampler before packing.

11 years agovideo-chroma: add chroma resampler
Wim Taymans [Fri, 17 May 2013 14:22:46 +0000 (16:22 +0200)]
video-chroma: add chroma resampler

Add functions to up/downsample chroma in horizontal and vertical
directions. These functions work in-placeand are meant to be used on the
input/output of the pack/unpack functions.

11 years agovideo: don't perform subsampling while packing
Wim Taymans [Mon, 1 Apr 2013 14:16:27 +0000 (16:16 +0200)]
video: don't perform subsampling while packing

Don't perform subsampling when packing but let this be done by a
separate subsampling step.

11 years agovideoconvert: reformat
Wim Taymans [Mon, 1 Apr 2013 14:05:40 +0000 (16:05 +0200)]
videoconvert: reformat

11 years agovideo: move chroma functions to separate file
Wim Taymans [Fri, 17 May 2013 13:45:41 +0000 (15:45 +0200)]
video: move chroma functions to separate file

11 years agovideoconvert: actually use the input pixels
Wim Taymans [Fri, 17 May 2013 13:41:10 +0000 (15:41 +0200)]
videoconvert: actually use the input pixels

Operate on the provided pixels array instead of the temp array.

11 years agovideometa: fix docs
Wim Taymans [Fri, 17 May 2013 13:40:50 +0000 (15:40 +0200)]
videometa: fix docs

11 years agovideoencoder: Don't require an output state to be set before allocating output buffers
Sebastian Dröge [Sat, 25 May 2013 14:08:06 +0000 (16:08 +0200)]
videoencoder: Don't require an output state to be set before allocating output buffers

11 years agotypefind: Ensure we have enough data when reading the sync marker in the AAC/LOAS...
Sebastian Dröge [Fri, 24 May 2013 15:43:53 +0000 (17:43 +0200)]
typefind: Ensure we have enough data when reading the sync marker in the AAC/LOAS typefinder

11 years agoaudio: Always provide a buffer in gst_audio_(enc|dec)oder_allocate_output_buffer()
Sebastian Dröge [Fri, 24 May 2013 14:52:50 +0000 (16:52 +0200)]
audio: Always provide a buffer in gst_audio_(enc|dec)oder_allocate_output_buffer()

We have no way of tell the caller of the exact error (e.g. if we're flushing),
so will have to wait until the caller uses API that returns a GstFlowReturn,
for example when pushing this buffer.

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

11 years agovideo: Always provide a buffer in gst_video_(enc|dec)oder_allocate_output_buffer()
Sebastian Dröge [Fri, 24 May 2013 14:51:17 +0000 (16:51 +0200)]
video: Always provide a buffer in gst_video_(enc|dec)oder_allocate_output_buffer()

We have no way of tell the caller of the exact error (e.g. if we're flushing),
so will have to wait until the caller uses API that returns a GstFlowReturn,
for example when pushing this buffer.

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

11 years agodecodebin: Lock the state of child elements as long as we manage their states
Sebastian Dröge [Fri, 24 May 2013 11:41:46 +0000 (13:41 +0200)]
decodebin: Lock the state of child elements as long as we manage their states

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

11 years agoRevert "decodebin2: use NO_RESYNC flag"
Sebastian Dröge [Fri, 24 May 2013 09:47:13 +0000 (11:47 +0200)]
Revert "decodebin2: use NO_RESYNC flag"

This reverts commit 0feecef2754ef208372eb39332b4f6fa2067d3d5.

11 years agodecodebin: Use signal handler IDs instead of disconnecting by function
Sebastian Dröge [Wed, 22 May 2013 15:29:17 +0000 (17:29 +0200)]
decodebin: Use signal handler IDs instead of disconnecting by function

This is cleaner and faster.

11 years agodecodebin: Connect and disconnect the have-type signal of typefind before starting...
Sebastian Dröge [Wed, 22 May 2013 11:49:18 +0000 (13:49 +0200)]
decodebin: Connect and disconnect the have-type signal of typefind before starting/shutting down

11 years agotypefind: Add variant=itu to the h263 typefinder caps
Sebastian Dröge [Wed, 22 May 2013 08:57:57 +0000 (10:57 +0200)]
typefind: Add variant=itu to the h263 typefinder caps

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

11 years agoplaysink: Use signal handler IDs instead of disconnecting/blocking by function
Sebastian Dröge [Tue, 21 May 2013 14:35:18 +0000 (16:35 +0200)]
playsink: Use signal handler IDs instead of disconnecting/blocking by function

This is cleaner and faster.

11 years agoalsasrc: Make using driver timestamps possible
Alexander Schrab [Tue, 7 May 2013 05:49:00 +0000 (07:49 +0200)]
alsasrc: Make using driver timestamps possible

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

11 years agoalsa: Dump min/max period time and buffer time in alsasrc too
Sebastian Dröge [Mon, 20 May 2013 09:23:06 +0000 (11:23 +0200)]
alsa: Dump min/max period time and buffer time in alsasrc too

11 years agodmabuf: Make sure that memory is unmapped before releasing it
Benjamin Gaignard [Fri, 17 May 2013 07:16:08 +0000 (09:16 +0200)]
dmabuf: Make sure that memory is unmapped before releasing it

Be sure that memory is unmapped before releasing it.

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

11 years agovideo: make mask arguments to gst_video_format_from_masks() unsigned
Tim-Philipp Müller [Thu, 16 May 2013 10:35:58 +0000 (11:35 +0100)]
video: make mask arguments to gst_video_format_from_masks() unsigned

These should really be unsigned.

11 years agoximagesink: add support for 32-bit RGB with alpha mask
Benjamin Gaignard [Thu, 16 May 2013 08:52:29 +0000 (10:52 +0200)]
ximagesink: add support for 32-bit RGB with alpha mask

When X screen return a depth = 32 with bpp = 32, the alpha mask
must be correctly set to have a known GStreamer video format.
X visual structure doesn't provide the alpha mask information,
but we can find it from the others masks.

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

11 years agotests: ignore new NV16 format in videoscale unit test
Tim-Philipp Müller [Thu, 16 May 2013 10:09:11 +0000 (11:09 +0100)]
tests: ignore new NV16 format in videoscale unit test

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

11 years agovideo: fix gst_video_format_from_masks() for little endian masks with alpha
Benjamin Gaignard [Thu, 16 May 2013 08:52:29 +0000 (10:52 +0200)]
video: fix gst_video_format_from_masks() for little endian masks with alpha

Need to byte-order swap the alpha mask as well in this case.

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

11 years agodmabuf: set the initial memory size to the full size
Michael Olbrich [Thu, 16 May 2013 07:07:46 +0000 (09:07 +0200)]
dmabuf: set the initial memory size to the full size

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

11 years agovideo: update disted orc backup files to fix build without liborc
Tim-Philipp Müller [Wed, 15 May 2013 17:20:50 +0000 (18:20 +0100)]
video: update disted orc backup files to fix build without liborc

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

11 years agoplayback: Only do a subset filtering for the factories if we have fixed caps
Sebastian Dröge [Wed, 15 May 2013 15:15:18 +0000 (17:15 +0200)]
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.

11 years agodecodebin: Return immediately from checking if a chain is complete if we're shutting...
Sebastian Dröge [Wed, 15 May 2013 12:51:16 +0000 (14:51 +0200)]
decodebin: Return immediately from checking if a chain is complete if we're shutting down

11 years agodecodebin: Hold the expose lock when freeing a chain
Sebastian Dröge [Wed, 15 May 2013 12:47:53 +0000 (14:47 +0200)]
decodebin: Hold the expose lock when freeing a chain

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

11 years agovideo: add NV16 format
Arnaud Vrac [Mon, 26 Nov 2012 15:37:22 +0000 (16:37 +0100)]
video: add NV16 format

This format is usually used by hardware video decoders for 4:2:2 sampling

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

11 years agoplaybin: Fix deadlock caused by lock order inversion
Sebastian Dröge [Wed, 15 May 2013 11:38:32 +0000 (13:38 +0200)]
playbin: Fix deadlock caused by lock order inversion

First the source group lock, then the elements list lock.

11 years agolibvisual: Update visualizer baseclass from gst-plugins-bad
Sebastian Dröge [Wed, 15 May 2013 09:03:58 +0000 (11:03 +0200)]
libvisual: Update visualizer baseclass from gst-plugins-bad

11 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 15 May 2013 08:51:24 +0000 (10:51 +0200)]
Automatic update of common submodule

From 5edcd85 to 098c0d7

11 years agoaudio-info: Always pass NULL as position parameter to gst_audio_info_set_format()
Sebastian Dröge [Wed, 15 May 2013 07:26:56 +0000 (09:26 +0200)]
audio-info: Always pass NULL as position parameter to gst_audio_info_set_format()

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

11 years agoplayback: Use subset checks instead of intersection
Sebastian Dröge [Tue, 14 May 2013 08:06:40 +0000 (10:06 +0200)]
playback: Use subset checks instead of intersection

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

11 years agortpbasepayload: Delay segment event after caps
Nicolas Dufresne [Sun, 12 May 2013 13:55:38 +0000 (09:55 -0400)]
rtpbasepayload: Delay segment event after caps

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

11 years agoaudio-info: For more than 64 channels don't allow a channel layout
Sebastian Dröge [Tue, 14 May 2013 07:34:21 +0000 (09:34 +0200)]
audio-info: For more than 64 channels don't allow a channel layout

More than 64 channels have all channels unpositioned.

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

11 years agotests: Fix event order and missing events
Sebastian Dröge [Fri, 10 May 2013 10:29:15 +0000 (12:29 +0200)]
tests: Fix event order and missing events

11 years agosubparse/ssaparse: Fix event handling and order
Sebastian Dröge [Fri, 10 May 2013 10:21:31 +0000 (12:21 +0200)]
subparse/ssaparse: Fix event handling and order

11 years agovorbisparse: Fix event handling
Sebastian Dröge [Fri, 10 May 2013 09:31:37 +0000 (11:31 +0200)]
vorbisparse: Fix event handling

Internal state should only be reset on FLUSH_STOP, not FLUSH_START.

Also forward pre-caps events immediately and don't queue them.

11 years agooggmux: Make sure to always set caps on the srcpad and always send a segment event
Sebastian Dröge [Fri, 10 May 2013 09:24:46 +0000 (11:24 +0200)]
oggmux: Make sure to always set caps on the srcpad and always send a segment event

Even if the srcpad is not linked at this point, it might be linked as result of
setting the caps.

11 years agooggmux: don't send a segment event before the caps event
Mathieu Duponchelle [Fri, 10 May 2013 07:28:52 +0000 (09:28 +0200)]
oggmux: don't send a segment event before the caps event

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

11 years agovideodecoder: don't set the list to NULL after taking its address
Mathieu Duponchelle [Thu, 9 May 2013 21:30:33 +0000 (23:30 +0200)]
videodecoder: don't set the list to NULL after taking its address

11 years agoplaybin-compressed: Fix unit test
Sebastian Dröge [Thu, 9 May 2013 16:02:57 +0000 (18:02 +0200)]
playbin-compressed: Fix unit test

11 years agovideorate: Reset base timestamp and out_frame_count in any case on SEGMENT_EVENT
Mathieu Duponchelle [Wed, 8 May 2013 18:31:00 +0000 (20:31 +0200)]
videorate: Reset base timestamp and out_frame_count in any case on SEGMENT_EVENT

Fixes #699187

11 years agovideoencoder: Make sure to push any pre-caps events before the caps are set
Sebastian Dröge [Thu, 9 May 2013 13:42:49 +0000 (15:42 +0200)]
videoencoder: Make sure to push any pre-caps events before the caps are set

11 years agovideodecoder: Make sure to not push any post-caps events before we have caps
Sebastian Dröge [Thu, 9 May 2013 13:34:10 +0000 (15:34 +0200)]
videodecoder: Make sure to not push any post-caps events before we have caps

and that we push pre-caps events before we push caps, even if we don't
have a GstVideoFrame yet.

11 years agoplaybin2: Chose more balanced metric to compare ranks of decoder/sink combinations
Sebastian Dröge [Thu, 9 May 2013 13:05:21 +0000 (15:05 +0200)]
playbin2: Chose more balanced metric to compare ranks of decoder/sink combinations

11 years agotheoradec: Set DECODE_ONLY flag on all header packets
Sebastian Dröge [Thu, 9 May 2013 08:40:19 +0000 (10:40 +0200)]
theoradec: Set DECODE_ONLY flag on all header packets

11 years agoRevert "videodecoder: If a frame is to be dropped, don't update timestamps"
Sebastian Dröge [Thu, 9 May 2013 08:37:06 +0000 (10:37 +0200)]
Revert "videodecoder: If a frame is to be dropped, don't update timestamps"

This reverts commit c9c5cd8eef499ba08e08898bda71183e39d570ea.

11 years agovideodecoder: If a frame is to be dropped, don't update timestamps
Sebastian Dröge [Thu, 9 May 2013 06:54:45 +0000 (08:54 +0200)]
videodecoder: If a frame is to be dropped, don't update timestamps

11 years agoplaybin: Fix infinite loop in GSequence iteration code
Sebastian Dröge [Wed, 8 May 2013 19:27:17 +0000 (21:27 +0200)]
playbin: Fix infinite loop in GSequence iteration code

11 years agoaudio: Make sure to push pre-caps events before the caps event
Sebastian Dröge [Wed, 8 May 2013 13:56:34 +0000 (15:56 +0200)]
audio: Make sure to push pre-caps events before the caps event

11 years agovideo: Make sure to push pre-caps events before the caps event
Sebastian Dröge [Wed, 8 May 2013 13:50:34 +0000 (15:50 +0200)]
video: Make sure to push pre-caps events before the caps event

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

11 years agouridecodebin: Always store queue2 elements for later removal
Sebastian Dröge [Wed, 8 May 2013 12:52:18 +0000 (14:52 +0200)]
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

11 years agooggmux: The best pad can't be EOS
Mathieu Duponchelle [Mon, 6 May 2013 20:05:04 +0000 (22:05 +0200)]
oggmux: The best pad can't be EOS

The problem experienced is that the EOS was never emitted by oggmux during a
rendering with GES. The proposed patch checks if the pad is EOS before deciding
it's the "best pad".

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

11 years agotypefind: fix detection of HLS playlists with alternative renditions
Andoni Morales Alastruey [Sun, 16 Dec 2012 15:53:30 +0000 (16:53 +0100)]
typefind: fix detection of HLS playlists with alternative renditions

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

11 years agoplaybin: Use the GSequence more efficiently
Sebastian Dröge [Tue, 7 May 2013 12:42:05 +0000 (14:42 +0200)]
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.

11 years agoplaybin: Use GSequence instead of GList to store the GstAVElement list.
Sreerenj Balachandran [Wed, 1 May 2013 21:01:17 +0000 (00:01 +0300)]
playbin: Use GSequence instead of GList to store the GstAVElement list.

The GstAVElement list might be big. Use GSequence to optimize it.

11 years agoplaybin: autoplug the audio/video decoders and sinks based on capsfeatures.
Sreerenj Balachandran [Mon, 29 Apr 2013 19:17:53 +0000 (22:17 +0300)]
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

11 years agoriff: Manually calculate bitrate of ADPCM streams
Julien Moutte [Tue, 7 May 2013 13:00:05 +0000 (15:00 +0200)]
riff: Manually calculate bitrate of ADPCM streams

Some ADPCM encoding tools like Oxelon generate WAV files with
wrong format header declaring an invalid bitrate.

As wavparse uses the average bitrate to calculate timestamps
and duration the decoder can be confused by receiving timestamps
completely out of sync with the decoded samples.

ADPCM is a CBR audio codec so we can calculate the average bitrate
instead of trusting the format header.

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

11 years agotheoraenc: Don't call gst_buffer_fill() for empty Theora packets
Sebastian Dröge [Tue, 7 May 2013 08:16:48 +0000 (10:16 +0200)]
theoraenc: Don't call gst_buffer_fill() for empty Theora packets

gst_buffer_fill() does not like a NULL source data pointer.

11 years agotheoraenc: Fix error handling when reading or writing multipass cache data fails
Sebastian Dröge [Tue, 7 May 2013 08:13:18 +0000 (10:13 +0200)]
theoraenc: Fix error handling when reading or writing multipass cache data fails

11 years agodecodebin: Expose pads when they receive EOS before any buffers
Sebastian Dröge [Mon, 6 May 2013 13:47:34 +0000 (15:47 +0200)]
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

11 years agoriff: wma can have more than 6 channels
Tim-Philipp Müller [Fri, 3 May 2013 15:24:55 +0000 (16:24 +0100)]
riff: wma can have more than 6 channels

Some versions anyway.

11 years agovorbis: Fix compilation after function rename
Sebastian Dröge [Fri, 3 May 2013 13:49:50 +0000 (15:49 +0200)]
vorbis: Fix compilation after function rename

11 years agovorbis: prefix get_copy_sample_func and fix duplicated symbols
Andoni Morales Alastruey [Fri, 3 May 2013 12:16:33 +0000 (14:16 +0200)]
vorbis: prefix get_copy_sample_func and fix duplicated symbols

11 years agoivorbisdec: fix duplicated symbols with vorbisdec
Andoni Morales Alastruey [Fri, 3 May 2013 12:13:18 +0000 (14:13 +0200)]
ivorbisdec: fix duplicated symbols with vorbisdec

11 years agodmabuf: don't touch the GstMemory size
Michael Olbrich [Fri, 3 May 2013 09:23:59 +0000 (11:23 +0200)]
dmabuf: don't touch the GstMemory size

mem.size is the content size and should not be touch.
Save the mmap size instead.

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

11 years agodmabuf: fix memory initialization
Michael Olbrich [Fri, 3 May 2013 09:12:04 +0000 (11:12 +0200)]
dmabuf: fix memory initialization

Without this the shared memory is broken

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

11 years agodmabuf: fix formating
Michael Olbrich [Fri, 3 May 2013 09:29:05 +0000 (11:29 +0200)]
dmabuf: fix formating

11 years agodmabuf: handle mmap failure
Michael Olbrich [Thu, 2 May 2013 13:37:14 +0000 (15:37 +0200)]
dmabuf: handle mmap failure

Otherwise gstreamer may segfault trying to access MAP_FAILED.

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

11 years agotextrender: actually fixate output caps when fixating output caps
Tim-Philipp Müller [Thu, 2 May 2013 22:41:02 +0000 (23:41 +0100)]
textrender: actually fixate output caps when fixating output caps

11 years agoogg: fix duplicated symbols with schroedinger
Andoni Morales Alastruey [Fri, 12 Apr 2013 19:01:53 +0000 (21:01 +0200)]
ogg: fix duplicated symbols with schroedinger