Miguel Casas-Sanchez [Tue, 16 Jul 2013 08:04:00 +0000 (10:04 +0200)]
videometa: Add Region Of Interest meta
https://bugzilla.gnome.org/show_bug.cgi?id=704070
Sebastian Dröge [Tue, 16 Jul 2013 07:30:33 +0000 (09:30 +0200)]
playbin: Fix sorting for decoder factories for which we didn't find a compatible sink
They might just need some converters for raw audio/video.
https://bugzilla.gnome.org/show_bug.cgi?id=704285
Olivier Crête [Mon, 15 Jul 2013 21:09:16 +0000 (17:09 -0400)]
riff-media: Add 'png ' fourcc
On top of mpng, MPNG, PNG, there is also png it seems
https://bugzilla.gnome.org/show_bug.cgi?id=704291
Benjamin Gaignard [Mon, 15 Jul 2013 13:23:17 +0000 (15:23 +0200)]
allocators: dmabuf: allow testing allocator type
In decide_allocation function some element may when to test the proposed allocator.
For example like this:
if (gst_query_get_n_allocation_params (query) > 0) {
GstAllocator * allocator;
GstAllocationParams params;
gst_query_parse_nth_allocation_param (query, 0, &allocator, ¶ms);
if (g_strcmp0(allocator->mem_type, GST_ALLOCATOR_DMABUF) == 0)
GST_DEBUG("got dmabuf allocator");
else
GST_DEBUG("got an other allocator");
}
https://bugzilla.gnome.org/show_bug.cgi?id=703659
Mathieu Duponchelle [Sat, 13 Jul 2013 23:42:52 +0000 (01:42 +0200)]
oggdemux: Make bisecting fully accurate
When bisecting after an earliest time has been found, we need
to only consider the stream for which the earliest time was found.
Before, the following scenario could be and was encountered:
a) Find the earliest time for stream X
b) bisect and find a page which granuletime is indeed < target, but
contains another stream.
c) decide to seek at the wrong offset, sometimes inferior to
the real one, in which case the error was undected or
d) the offset was superior, and thus the actual target keyframe was
not processed, and packets were skipped waiting
for a granulepos.
https://bugzilla.gnome.org/show_bug.cgi?id=700537
Mathieu Duponchelle [Sat, 13 Jul 2013 18:45:01 +0000 (20:45 +0200)]
Revert "oggdemux: fix seeking with negative rate with skeleton"
This reverts commit
b41cd0428956f3ade9b428149e38be8e788556fe.
Sebastian Dröge [Mon, 15 Jul 2013 07:10:30 +0000 (09:10 +0200)]
playbin: Don't print a warning when setting a sink to NULL
https://bugzilla.gnome.org/show_bug.cgi?id=704194
Sebastian Dröge [Sun, 14 Jul 2013 16:11:59 +0000 (18:11 +0200)]
rtspconnection: Create a new write GSource after removing it
After removal, a GSource is destroyed and can never be attached
again to a main context. We need to create a new one instead.
https://bugzilla.gnome.org/show_bug.cgi?id=704198
Sebastian Dröge [Fri, 12 Jul 2013 10:05:37 +0000 (12:05 +0200)]
playbin: Properly destroy and set to NULL sinks that don't work
Alban Browaeys [Mon, 8 Jul 2013 21:49:39 +0000 (23:49 +0200)]
playbin: Fix logic to detect if a stream-change is currently pending
Fixes duration reporting in gapless playback between files.
https://bugzilla.gnome.org/show_bug.cgi?id=585969
Wim Taymans [Fri, 12 Jul 2013 07:37:51 +0000 (09:37 +0200)]
videometa: fix header formatting
Reynaldo H. Verdejo Pinochet [Wed, 10 Jul 2013 17:27:21 +0000 (13:27 -0400)]
riff: Provide correct media type for XSub
Xsub (fourcc DXSB) is a subpicture stream used for embeded
subtitles on divx files. This provides a correct media type
for them instead of just video/x-avi-unknown.
Sebastian Dröge [Thu, 11 Jul 2013 14:57:11 +0000 (16:57 +0200)]
Back to development
Sebastian Dröge [Thu, 11 Jul 2013 13:30:23 +0000 (15:30 +0200)]
Release 1.1.2
Sebastian Dröge [Thu, 11 Jul 2013 13:29:57 +0000 (15:29 +0200)]
Update .po files
Sebastian Dröge [Wed, 10 Jul 2013 15:16:14 +0000 (17:16 +0200)]
playbin: Only give sinks a new bus if they have no parent yet
Otherwise we will remove the bus that would proxy messages to playsink
and never set it again. If the sink is already in playsink, all failures
are fatal anyway as it's either a sink that worked before or one that
was set by the user.
https://bugzilla.gnome.org/show_bug.cgi?id=701997
Sebastian Dröge [Wed, 10 Jul 2013 11:22:04 +0000 (13:22 +0200)]
playbin: Store a/v/t sinks locally too, not just in playsink
Sebastian Dröge [Wed, 10 Jul 2013 11:21:29 +0000 (13:21 +0200)]
playsink: ref_sink() any sinks that are set on playsink
Otherwise the behaviour of the properties is inconsistent.
Sebastian Dröge [Wed, 10 Jul 2013 11:20:34 +0000 (13:20 +0200)]
playbin: Fix assumptions in the unit test
Unused sinks are still set to READY now during autoplugging
to check their caps. Also playsink owns a ref to the sinks too.
Sebastian Dröge [Wed, 10 Jul 2013 11:00:21 +0000 (13:00 +0200)]
streamsynchronizer: Non-TIME segment streams are not waiting automatically
This was leftover code from porting to 1.0 and fixes the playbin
unit test.
https://bugzilla.gnome.org/show_bug.cgi?id=701943
Branko Subasic [Tue, 9 Jul 2013 21:04:49 +0000 (23:04 +0200)]
win32: add missing rtp buffer methods
Sebastian Dröge [Tue, 9 Jul 2013 12:55:57 +0000 (14:55 +0200)]
playbin: Change sink ownership handling to be a bit more sane
playbin will now only activate the sinks in a single place and
will never change the states of any sinks that are owned by
playsink.
Also handle text-sinks the same way as audio/video sinks inside
playbin.
Piotr Drąg [Fri, 5 Jul 2013 19:55:26 +0000 (21:55 +0200)]
po: update POTFILES.in
https://bugzilla.gnome.org/show_bug.cgi?id=703684
Sreerenj Balachandran [Thu, 4 Jul 2013 14:09:00 +0000 (17:09 +0300)]
colorbalance: Fix the typo in base_init().
Thibault Saunier [Thu, 4 Jul 2013 16:54:59 +0000 (12:54 -0400)]
adder: Do not send flush_start event with the stream lock taken
FLUSH_START is not serialized, so the lock should not be taken when
sending it.
Marcin Lewandowski [Thu, 4 Jul 2013 23:47:08 +0000 (00:47 +0100)]
tag: ignore malformed ID3v2 TDAT frames
Just skip them, don't cause criticals.
https://bugzilla.gnome.org/show_bug.cgi?id=703283
Tim-Philipp Müller [Wed, 3 Jul 2013 08:44:32 +0000 (09:44 +0100)]
audioresample: make explicit that neon is disabled and why
https://bugzilla.gnome.org/show_bug.cgi?id=703477
Carlos Rafael Giani [Tue, 2 Jul 2013 16:20:39 +0000 (18:20 +0200)]
audioresample: disable 16-bit integer NEON support
it seems to be broken (produces no audio), plus the performance gain
is small
Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
Sebastian Dröge [Tue, 2 Jul 2013 12:25:28 +0000 (14:25 +0200)]
playbin: If we had a previous autoplugged sink, try to reuse it
https://bugzilla.gnome.org/show_bug.cgi?id=701997
Sebastian Dröge [Tue, 2 Jul 2013 12:18:20 +0000 (14:18 +0200)]
playsink: If we switch sinks, make sure that the old sink is set to NULL
Sebastian Dröge [Tue, 2 Jul 2013 12:02:57 +0000 (14:02 +0200)]
playbin: Don't change the state of sinks that we passed to playsink already
Sebastian Dröge [Tue, 2 Jul 2013 12:01:52 +0000 (14:01 +0200)]
playsink: Consider new audio/video sinks when reconfiguring
Sebastian Dröge [Tue, 2 Jul 2013 10:27:03 +0000 (12:27 +0200)]
playbin: Improve debug output regarding sink selection
Brendan Long [Mon, 1 Jul 2013 18:52:43 +0000 (12:52 -0600)]
playbin: Post an error message if a stream combiner doesn't return a request pad.
Sebastian Dröge [Mon, 1 Jul 2013 11:45:25 +0000 (13:45 +0200)]
playbin: Only intersect to check if a sink can handle raw caps
Doing a subset check requires fixed caps, which we might not have here.
https://bugs.webkit.org/show_bug.cgi?id=116042
Vincent Penquerc'h [Mon, 1 Jul 2013 09:39:02 +0000 (10:39 +0100)]
pbutils: allow describing unfixed caps if they share the same media type
Caps description and missing plugin code does not really need caps to
be fixed, and indeed they may not be if giving encodebin unfixed caps
that correspond to an unknown encoder or muxer.
So we relax the check, and allow unfixed caps if all the structures
refer to the same media type.
Sebastian Dröge [Mon, 1 Jul 2013 09:16:34 +0000 (11:16 +0200)]
videodecoder: Send all pending events with type < CAPS before sending caps
Mathieu Duponchelle [Thu, 27 Jun 2013 14:33:15 +0000 (16:33 +0200)]
videoencoder: Send all pending events with type < CAPS before sending caps.
https://bugzilla.gnome.org/show_bug.cgi?id=703196
Vincent Penquerc'h [Fri, 28 Jun 2013 13:48:19 +0000 (14:48 +0100)]
typefind: avoid too low mpeg/ts probability on small amount of data
With the current test, we get into problems when we try to typefind
a MPEG stream from a small amount of data, which can happen when
we get data pushed from a HTTP source. We thus make a second test
to give higher probability if all the potential headers were either
pack or pes headers (ie, no potential header was unrecognized).
This fixes an issue with a MPEG1/MP2 stream being properly discovered
as video/mpeg from a file, but as audio/mpeg from souphttpsrc.
https://bugzilla.gnome.org/show_bug.cgi?id=703256
Sebastian Dröge [Sun, 30 Jun 2013 16:17:15 +0000 (18:17 +0200)]
video(enc|dec)oder: Don't return not-negotiated if flushing
If the pad is flushing after a failed negotiation, return
GST_FLOW_FLUSHING instead from finish_frame().
https://bugzilla.gnome.org/show_bug.cgi?id=701763
Sebastian Dröge [Sun, 30 Jun 2013 16:16:35 +0000 (18:16 +0200)]
audioencoder: Don't return not-negotiated if flushing
If the pad is flushing after a failed negotiation, return
GST_FLOW_FLUSHING instead from finish_frame().
https://bugzilla.gnome.org/show_bug.cgi?id=701763
Edward Hervey [Fri, 14 Jun 2013 05:23:40 +0000 (07:23 +0200)]
pbutils: descriptions: Allow smart codec tag handling
We already have internally the information on what type of stream (audio,
video, container, subtitle, ...) a certain caps is.
Instead of forcing callers to specify which CODEC_TAG category a certain
caps is, use that information to make a smart choice.
Does not break previous behaviour of gst_pb_utils_add_codec_description_to_tag_list
(if tag is specified it will be used, if caps is invalid it will be rejected,
...).
https://bugzilla.gnome.org/show_bug.cgi?id=702215
Edward Hervey [Wed, 19 Jun 2013 07:25:48 +0000 (09:25 +0200)]
xmptag: Add a debug category
Instead of using the default category
Patricia Muscalu [Thu, 27 Jun 2013 10:23:27 +0000 (12:23 +0200)]
videotestsrc: do not leak lines
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703177
Ognyan Tonchev [Wed, 26 Jun 2013 12:36:17 +0000 (14:36 +0200)]
rtpbasepayload: Do not leak the event when segment is delayed
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703119
Wim Taymans [Wed, 26 Jun 2013 13:03:05 +0000 (15:03 +0200)]
rtsp: make read uncancelable when reading a message
When we start to read a message, we need to continue reading until the end of
the message or else we lose track and cause parse errors. Use a variable
may_cancel to avoid cancelation after we read the first byte until we have
the complete message.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=703088
Mathieu Duponchelle [Fri, 21 Jun 2013 18:41:15 +0000 (20:41 +0200)]
audiodecoder: Don't return not-negotiated if flushing
If the pad is flushing after a failed negotiation, return GST_FLOW_FLUSHING.
https://bugzilla.gnome.org/show_bug.cgi?id=701763
Sebastian Dröge [Sun, 23 Jun 2013 10:07:41 +0000 (12:07 +0200)]
ogg: The Daala headers are little endian, not big endian
Sebastian Dröge [Sun, 23 Jun 2013 08:30:02 +0000 (10:30 +0200)]
ogg: Add Daala support
Sebastian Dröge [Fri, 21 Jun 2013 17:04:43 +0000 (19:04 +0200)]
pbutils: Add VP9 description
Edward Hervey [Mon, 17 Jun 2013 06:58:13 +0000 (08:58 +0200)]
videodecoder: Fix drop frame handling at startup
In the unlikely case that the decoder drops a frame before the first
input frame is outputted, use the input segment (since it wasn't
carried over to the output segment yet)
https://bugzilla.gnome.org/show_bug.cgi?id=702502
Wim Taymans [Fri, 21 Jun 2013 09:50:33 +0000 (11:50 +0200)]
rtsp: dispatch when initial buffer has data
When we have data in the inital buffer, dispath the read function to read it
even if the socket has no data to read.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702652
Wim Taymans [Thu, 20 Jun 2013 15:28:46 +0000 (17:28 +0200)]
rtsp: manage writer child source better
Only add the write child source when we have something to write or else
we will dispatch forever without doing anything.
Jonas Holmberg [Wed, 19 Jun 2013 11:21:45 +0000 (13:21 +0200)]
audioencoder: unref before memset
Unref allocator and input_caps in encoder context before memsetting the
context.
Edward Hervey [Wed, 19 Jun 2013 07:22:50 +0000 (09:22 +0200)]
xmptag: More efficient GSList usage
Instead of constantly appending (which gets more and more expensive), just
prepend to the list (O(1)) and reverse the list before usage.
https://bugzilla.gnome.org/show_bug.cgi?id=702545
Branko Subasic [Sun, 16 Jun 2013 20:39:30 +0000 (22:39 +0200)]
rtpbuffer: add gst_rtp_buffer_get_payload_bytes
The function gst_rtp_buffer_get_payload can not be used in Python
because it lacks necessary length parameter. This patch adds a new
function, gst_rtp_buffer_get_payload_bytes, to use from Python
bindings. The new function has the advisory "Rename to:" annotation
so it can replace the gst_rtp_buffer_get_payload whan creating
bindings.
The function gst_rtp_buffer_get_extension_bytes is also added. It wraps
gst_rtp_buffer_get_extension_data which doesn't work in Python due to
incomplete annotation and because it returns the length as number of
32-bit words.
https://bugzilla.gnome.org/show_bug.cgi?id=698562
Ognyan Tonchev [Mon, 17 Jun 2013 14:34:26 +0000 (16:34 +0200)]
audiobasesrc: add 2 missing gst_buffer_unmap () calls
There are 2 missing calls to gst_buffer_unmap () in the error handling in
create ().
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702467
Sreerenj Balachandran [Mon, 17 Jun 2013 13:02:41 +0000 (16:02 +0300)]
playsink: Fix the block diagram of deinterlace bin.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702465
Brendan Long [Thu, 13 Jun 2013 17:08:20 +0000 (11:08 -0600)]
playbin: Emit {audio,text,video}-changed signals when pads are removed
https://bugzilla.gnome.org/show_bug.cgi?id=702195
Sebastian Dröge [Tue, 11 Jun 2013 13:22:50 +0000 (15:22 +0200)]
videoconvert: Fix leaking of the chroma resample helper objects
Sreerenj Balachandran [Mon, 10 Jun 2013 11:43:35 +0000 (14:43 +0300)]
tests: add more unit test for playbin
Add unit test for autoplugging of video_decoder/video_sink combination
based on capsfeatures.
Sebastian Dröge [Mon, 10 Jun 2013 13:31:38 +0000 (15:31 +0200)]
rtspconnection: Make sure to set a sensible default port for the GSocketConnection
Otherwise it will connect to port 0 if no port is given in the URI.
https://bugzilla.gnome.org/show_bug.cgi?id=701798
Sebastian Dröge [Sun, 9 Jun 2013 17:20:20 +0000 (19:20 +0200)]
adder: Reject segments that have a different rate than the output segment
adder does no rate conversion.
Sebastian Dröge [Sat, 8 Jun 2013 21:51:13 +0000 (23:51 +0200)]
playbin: When activating a fixed sink, proxy error messages too
If activating a fixed sink fails, everything will fail later anyway
and we can just error out early.
Sebastian Dröge [Sat, 8 Jun 2013 21:34:53 +0000 (23:34 +0200)]
playbin: Improve autoplugging of decoder/sink combinations by trying to activate the sink
And if that fails don't bother autoplugging that sink. Also gives
us more accurate sink caps.
Sebastian Dröge [Sat, 8 Jun 2013 21:08:05 +0000 (23:08 +0200)]
playbin: Proxy the playbin context to the sinks
Sebastian Dröge [Sat, 8 Jun 2013 21:04:43 +0000 (23:04 +0200)]
playbin: Proxy sink messages if we activate a sink in playbin already
This makes sure the application gets any context related messages and
can do whatever is required to a) get the sink a context or b) share
the context with other elements in the pipeline.
The proxying is necessary because the sink is not a child element of
playbin, but instead will at a later point be a child of some bin
inside playsink.
https://bugzilla.gnome.org/show_bug.cgi?id=700967
Sebastian Dröge [Thu, 6 Jun 2013 13:57:49 +0000 (15:57 +0200)]
decodebin: Let serialize queries before caps events through
Otherwise we're going to deadlock forever because no autoplugging
happens without having caps, but caps can never be send because
we're blocking.
Serialized queries before caps should never be sent unless really
necessary.
Sebastian Dröge [Wed, 5 Jun 2013 16:36:40 +0000 (18:36 +0200)]
Back to development
Sebastian Dröge [Wed, 5 Jun 2013 15:58:51 +0000 (17:58 +0200)]
Release 1.1.1
Sebastian Dröge [Wed, 5 Jun 2013 14:20:38 +0000 (16:20 +0200)]
Update .po files
Sebastian Dröge [Wed, 5 Jun 2013 13:14:43 +0000 (15:14 +0200)]
Automatic update of common submodule
From 098c0d7 to 01a7a46
Sebastian Dröge [Tue, 4 Jun 2013 15:49:55 +0000 (17:49 +0200)]
videodecoder: Change GST_WARNING to a GST_DEBUG
It's completely normal for some decoders to queue 50-60 frames without
it causing any problems, e.g. RPi.
Sebastian Dröge [Sat, 1 Jun 2013 07:05:16 +0000 (09:05 +0200)]
audioencoder: Remove private copy of gst_audio_info_is_equal()
And improve the public one a bit based on it.
Brendan Long [Thu, 30 May 2013 22:00:35 +0000 (16:00 -0600)]
rtspconnection: remove functions added in GLib 2.34
g_pollable_stream_read and g_pollable_stream_write were added in GLib 2.34,
but Ubuntu 12.04 and Debian Wheezy still use GLib 2.32.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=701316
Sebastian Dröge [Thu, 30 May 2013 16:48:19 +0000 (18:48 +0200)]
adder: Add GstChildProxy interface for the sinkpads
This allows to set the sinkpad properties more easily.
Next step: Implement proper synchronization in adder, almost done!
Sebastian Dröge [Thu, 30 May 2013 16:41:22 +0000 (18:41 +0200)]
adder: Hold object lock in setcaps a bit longer to prevent race conditions
Sebastian Dröge [Thu, 30 May 2013 12:57:04 +0000 (14:57 +0200)]
adder: Simplify segment event handling
We don't care about upstream segments but generate our own. This
makes the code more similar to videomixer again.
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