Sebastian Dröge [Thu, 30 May 2013 12:45:58 +0000 (14:45 +0200)]
adder: Use gst_audio_info_is_equal() to check if we get the same caps
Sebastian Dröge [Thu, 30 May 2013 12:45:31 +0000 (14:45 +0200)]
audio: Add gst_audio_info_is_equal()
Sebastian Dröge [Thu, 30 May 2013 12:32:03 +0000 (14:32 +0200)]
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.
Sebastian Dröge [Thu, 30 May 2013 10:57:11 +0000 (12:57 +0200)]
adder: Set GAP flag on silence buffers we created
Sebastian Dröge [Thu, 30 May 2013 10:54:37 +0000 (12:54 +0200)]
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.
Sebastian Dröge [Thu, 30 May 2013 10:46:56 +0000 (12:46 +0200)]
adder: Add support for per-stream volumes
Sebastian Dröge [Thu, 30 May 2013 10:21:06 +0000 (12:21 +0200)]
adder: Add optimized orc code for F64 processing
Sebastian Dröge [Thu, 30 May 2013 10:05:02 +0000 (12:05 +0200)]
adder: The output buffer must be readable and writable
Sebastian Dröge [Thu, 30 May 2013 10:02:53 +0000 (12:02 +0200)]
adder: Add support for muting individual pads
Sebastian Dröge [Thu, 30 May 2013 09:45:10 +0000 (11:45 +0200)]
adder: Sync pad properties with the GstController
Sebastian Dröge [Thu, 30 May 2013 09:40:01 +0000 (11:40 +0200)]
adder: Add custom GstPad subclass to hold additional data and properties
This will later allow to set per-stream volumes and mute status.
Wim Taymans [Thu, 30 May 2013 15:31:13 +0000 (17:31 +0200)]
rtsp: add method to get the TLS connection
Wim Taymans [Thu, 30 May 2013 11:14:46 +0000 (13:14 +0200)]
rtsp: let the sockets be reffed by the connection
Don't add an extra ref to the sockets but use that of the connection.
Keep the connection around as an IOStream.
Wim Taymans [Thu, 30 May 2013 08:50:42 +0000 (10:50 +0200)]
rtsp: Cleanup the error path
Make sure the watch is removed when we close the read socket because of
an error.
Wim Taymans [Thu, 30 May 2013 08:45:42 +0000 (10:45 +0200)]
rtsp: cleanup the watch reset function
Wim Taymans [Thu, 30 May 2013 08:30:09 +0000 (10:30 +0200)]
rtsp: check if the streams are still active
Don't try to read/write from an inactive stream. When we, for example,
transfer the second connection in tunneling mode, we are not interested anymore
on read/write activity on the old connection.
Wim Taymans [Wed, 29 May 2013 15:44:30 +0000 (17:44 +0200)]
rtsp: use child sources instead of using the sockets
Use the source of the pollable input/output streams instead of
accessing the sockets directly.
Wim Taymans [Wed, 29 May 2013 14:15:32 +0000 (16:15 +0200)]
rtsp: fix input/output streams for tunneling
Wim Taymans [Wed, 29 May 2013 13:27:37 +0000 (15:27 +0200)]
rtsp: don't use sockets for blocking
Use the blocking and non-blocking API of the input/output streams instead
of polling the sockets directly. This also allows us to simplify some
code.
Wim Taymans [Tue, 28 May 2013 15:06:14 +0000 (17:06 +0200)]
rtsp: add TLS support
Add flag to select TLS in the transport.
Enable TLS on the socketclient when we use a TLS uri.
Wim Taymans [Tue, 28 May 2013 14:45:00 +0000 (16:45 +0200)]
rtspconnection: use the input/output stream of clientconnection
Don't use the raw sockets for RTSP communication but use the IOStream.
This is needed if we are going to use TLS later.
Wim Taymans [Tue, 28 May 2013 09:16:51 +0000 (11:16 +0200)]
rtsp: set sockets non-blocking
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.
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
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
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
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.
Sebastian Dröge [Wed, 29 May 2013 14:41:14 +0000 (16:41 +0200)]
alsasrc: Dump some more debug output about the device configuration
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
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.
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
Brendan Long [Tue, 28 May 2013 16:59:22 +0000 (10:59 -0600)]
playbin: Add playbin audio-stream-combiner test using adder
Brendan Long [Tue, 28 May 2013 17:23:56 +0000 (11:23 -0600)]
playbin: Rename select to combine and selector to combiner in playbin
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
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
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.
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
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.
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.
Sebastian Dröge [Tue, 28 May 2013 10:03:49 +0000 (12:03 +0200)]
decodebin: Pass the element in the autoplug-query signal too
Sebastian Dröge [Tue, 28 May 2013 09:40:51 +0000 (11:40 +0200)]
decodebin: Need to lock the chain mutex in autoplug_query
Sebastian Dröge [Tue, 28 May 2013 09:36:58 +0000 (11:36 +0200)]
playsinkconvertbin: Fix leak of the downstream caps filter
Sebastian Dröge [Tue, 28 May 2013 09:05:21 +0000 (11:05 +0200)]
playbin: Refactor autoplug-query handling a bit
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.
Sebastian Dröge [Mon, 27 May 2013 11:04:00 +0000 (13:04 +0200)]
theoradec: Require caps to be set before data flow happens
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.
Wim Taymans [Mon, 27 May 2013 09:25:09 +0000 (11:25 +0200)]
video-chroma: add interlaced flag
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.
Wim Taymans [Fri, 17 May 2013 14:26:49 +0000 (16:26 +0200)]
videotestsrc: subsample chroma before packing
Run the chroma subsampler before packing.
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.
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.
Wim Taymans [Mon, 1 Apr 2013 14:05:40 +0000 (16:05 +0200)]
videoconvert: reformat
Wim Taymans [Fri, 17 May 2013 13:45:41 +0000 (15:45 +0200)]
video: move chroma functions to separate file
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.
Wim Taymans [Fri, 17 May 2013 13:40:50 +0000 (15:40 +0200)]
videometa: fix docs
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
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
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
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
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
Sebastian Dröge [Fri, 24 May 2013 09:47:13 +0000 (11:47 +0200)]
Revert "decodebin2: use NO_RESYNC flag"
This reverts commit
0feecef2754ef208372eb39332b4f6fa2067d3d5.
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.
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
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
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.
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
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
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
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.
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
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
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
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
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
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.
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
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
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
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.
Sebastian Dröge [Wed, 15 May 2013 09:03:58 +0000 (11:03 +0200)]
libvisual: Update visualizer baseclass from gst-plugins-bad
Sebastian Dröge [Wed, 15 May 2013 08:51:24 +0000 (10:51 +0200)]
Automatic update of common submodule
From 5edcd85 to 098c0d7
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
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
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
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
Sebastian Dröge [Fri, 10 May 2013 10:29:15 +0000 (12:29 +0200)]
tests: Fix event order and missing events
Sebastian Dröge [Fri, 10 May 2013 10:21:31 +0000 (12:21 +0200)]
subparse/ssaparse: Fix event handling and order
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.
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.
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
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
Sebastian Dröge [Thu, 9 May 2013 16:02:57 +0000 (18:02 +0200)]
playbin-compressed: Fix unit test
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
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
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.
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
Sebastian Dröge [Thu, 9 May 2013 08:40:19 +0000 (10:40 +0200)]
theoradec: Set DECODE_ONLY flag on all header packets
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.
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
Sebastian Dröge [Wed, 8 May 2013 19:27:17 +0000 (21:27 +0200)]
playbin: Fix infinite loop in GSequence iteration code