Felipe Contreras [Sat, 21 May 2011 12:49:20 +0000 (15:49 +0300)]
baseaudiosink: split drift-tolerance into alignment-threshold
So that drift-tolerance is used for clock slaving resync, and
alignment-threshold is for timestamp drift.
Felipe Contreras [Sat, 21 May 2011 13:02:36 +0000 (16:02 +0300)]
baseaudiosink: trivial comment fixes
Some found by Havard Graff.
Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
Sebastian Dröge [Fri, 4 Nov 2011 09:37:12 +0000 (10:37 +0100)]
subtitleoverlay: Use gst_caps_merge() instead of gst_caps_union()
This keeps the caps order and is more efficient.
Sebastian Dröge [Fri, 4 Nov 2011 09:36:51 +0000 (10:36 +0100)]
playsinkconvertbin: Use gst_caps_merge() instead of gst_caps_union()
This keeps the caps order and is more efficient.
Reynaldo H. Verdejo Pinochet [Fri, 4 Nov 2011 00:35:38 +0000 (21:35 -0300)]
Add missing default include paths to androgenizer call
Fixes building tag/ with Android's NDK
Mart Raudsepp [Thu, 3 Nov 2011 12:10:31 +0000 (14:10 +0200)]
decodebin2: Post all source pads in stream-topology messages as "element-srcpad" values
This allows us to easily get ahold of all pads on a stream-topology message, including
pre-decoder ones, while "pad" only gives us access to the raw pads (as used by discoverer).
Mart Raudsepp [Thu, 20 Oct 2011 10:04:52 +0000 (13:04 +0300)]
decodebin2: Use existing "caps" quark for one of the structure sets
Sebastian Dröge [Thu, 3 Nov 2011 09:07:27 +0000 (10:07 +0100)]
playsinkconvertbin: Don't add identity multiple times
Vincent Penquerc'h [Wed, 19 Oct 2011 13:13:39 +0000 (14:13 +0100)]
playsink: send flush start/stop event when we switch elements
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Wed, 19 Oct 2011 13:13:30 +0000 (14:13 +0100)]
playsink: re-add identity where appropriate
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Wed, 19 Oct 2011 13:12:01 +0000 (14:12 +0100)]
playsink: lock the new {set,get}_property functions
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Thiago Santos [Mon, 17 Oct 2011 23:14:54 +0000 (23:14 +0000)]
playsinkconvertbin: Be more consistent with ghostpad targets
Set up targets on READY->PAUSED state change to passthrough by
default. This prevents the targets from being unset on the
first run, while the 'raw' variable would mean that some
target is set.
Thiago Santos [Mon, 17 Oct 2011 22:41:49 +0000 (22:41 +0000)]
playsinkconvertbin: No need to remove the identity
The identity element should be handled by the GstBin's cleanup,
removing it on the remove_elements function might remove it
too soon, as this function can be called directly from playsink
Thiago Santos [Mon, 17 Oct 2011 22:41:11 +0000 (22:41 +0000)]
playsinkconvertbin: Adding some debug messages
Adds a couple debug messages and some g_assert to make debugging
easier
Thiago Santos [Mon, 17 Oct 2011 22:02:03 +0000 (22:02 +0000)]
playsink-videoconvert: Fix warning on build
Remove unused variable
Vincent Penquerc'h [Mon, 17 Oct 2011 21:05:30 +0000 (21:05 +0000)]
playsink: handle after-the-fact changes in converters/volume booleans
The playsink was nastily poking a boolean in the structure.
Make those booleans properties, so we are told when they change,
and rebuild the conversion bin when they do.
Some cleanup to go with it too.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Mon, 17 Oct 2011 18:43:06 +0000 (18:43 +0000)]
playsink: handle NULL cached caps in getcaps
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Mon, 17 Oct 2011 18:06:00 +0000 (18:06 +0000)]
playsink: consider both passthrough and converter caps in getcaps
Since we can switch between both modes.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Mon, 17 Oct 2011 17:54:27 +0000 (17:54 +0000)]
playsink: cache inner converter bin caps
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Mon, 17 Oct 2011 17:26:48 +0000 (17:26 +0000)]
playsink: keep both raw and non raw pipelines at all times
and switch between them as needed.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Mon, 17 Oct 2011 17:29:50 +0000 (17:29 +0000)]
playsink: only compare against the media type we expect
ie, audio/x-raw- for audio, video/x-raw- for video.
Add a trailing - to be more specific. I doubt there's anything
like audio/x-rawhide or something, but you never know.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Mon, 17 Oct 2011 16:55:30 +0000 (16:55 +0000)]
playsink: refactor the converter bins since they are almost identical
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Mon, 17 Oct 2011 13:00:05 +0000 (13:00 +0000)]
playsink: fix passthrough mode (hopefully)
The code was doing counterintuitive rewiring of pads when the
bin did not contain any elements. We now add an identity element
in that case, which makes it simpler, and should fix the AC3
passthrough mode when using pulseaudio (but I don't see the bug
here so can't test).
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Vincent Penquerc'h [Fri, 7 Oct 2011 11:16:44 +0000 (11:16 +0000)]
playsink: handle NULL ghost pad target
For the src pad anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=661262
Sebastian Dröge [Thu, 3 Nov 2011 08:56:14 +0000 (09:56 +0100)]
Revert "playsinkaudioconvert: Fix warning when there is no target pad yet"
This reverts commit
f35c51c14915729f0fdf2b348f351ea7e81027cc.
Better patch coming soon.
Sebastian Dröge [Fri, 28 Oct 2011 08:07:42 +0000 (10:07 +0200)]
oggmux: Remove obsolete #include
Tim-Philipp Müller [Wed, 2 Nov 2011 23:33:18 +0000 (23:33 +0000)]
docs: add draft for subtitle overlays to design docs
Main purpose is to provide a generic way to make subtitles work on
top of non-raw video (vaapi, vdpau, etc.).
Colin Walters [Wed, 2 Nov 2011 19:31:11 +0000 (15:31 -0400)]
configure: Allow setting GLIB_EXTRA_CFLAGS
Similar to gstreamer commit
bb2020b1e794210cf7d44c6626122f611016a620
Tim-Philipp Müller [Sun, 30 Oct 2011 20:00:47 +0000 (20:00 +0000)]
subtitleoverlay: don't use soon-to-be-deprecated gst_filter_run()
Mersad Jelacic [Fri, 28 Oct 2011 11:58:47 +0000 (13:58 +0200)]
audiosink: avoid deadlocking audioringbuffer thread
... when it goes into wait for ringbuffer starting just after such
having been signalled.
Fixes #661738.
Philip Jägenstedt [Tue, 26 Apr 2011 20:20:29 +0000 (22:20 +0200)]
typefind: extract SOF marker in jpeg typefinder
The SOF types are defined by http://www.w3.org/Graphics/JPEG/itu-t81.pdf
This is needed to make sure that we plug a jpeg decoder that
can handle the type of JPEG we have (e.g. lossless JPEG)
https://bugzilla.gnome.org/show_bug.cgi?id=556648
Thiago Santos [Mon, 10 Aug 2009 01:48:29 +0000 (01:48 +0000)]
oggmux: port to gstcollectpads2
Jan Schmidt [Thu, 27 Oct 2011 12:39:31 +0000 (23:39 +1100)]
build: Fix build for moved volume subdir
Stefan Sauer [Thu, 27 Oct 2011 07:51:46 +0000 (09:51 +0200)]
volume: move volume example to audio
Stefan Sauer [Thu, 27 Oct 2011 07:42:36 +0000 (09:42 +0200)]
audio examples. fix the makefile
Stefan Sauer [Thu, 27 Oct 2011 07:33:55 +0000 (09:33 +0200)]
volume: make global vars static
Stefan Sauer [Thu, 27 Oct 2011 07:33:01 +0000 (09:33 +0200)]
audiomix: add a simple audiomix example
Jan Schmidt [Tue, 25 Oct 2011 09:04:06 +0000 (20:04 +1100)]
playsinkaudioconvert: Fix warning when there is no target pad yet
Nicolas Dufresne [Thu, 13 Oct 2011 15:34:49 +0000 (11:34 -0400)]
decodebin2: Link elements before testing if they can reach the READY state
This is made possible by filtering errors. This is required to let
harware accelerated element query the video context. The video context
is used to determine if the HW is capable, and thus if the element is
supported or not.
Fixes bug #662330.
René Stadler [Fri, 21 Oct 2011 19:57:17 +0000 (21:57 +0200)]
playbasebin: remove avoidable call to gst_object_set_name
René Stadler [Fri, 21 Oct 2011 19:41:03 +0000 (21:41 +0200)]
oggdemux: remove avoidable call to gst_object_set_name
René Stadler [Fri, 21 Oct 2011 19:39:01 +0000 (21:39 +0200)]
audioconvert: bury dead test program
Reynaldo H. Verdejo Pinochet [Thu, 20 Oct 2011 13:13:46 +0000 (10:13 -0300)]
Disable ext/vorbis for the android ndk build
It currently makes the build fail. Idea is to enable
it back again once its building problems get sorted
out.
René Stadler [Wed, 19 Oct 2011 17:44:06 +0000 (19:44 +0200)]
subtitleoverlay: fix leaks of pad templates and internal proxy pads
René Stadler [Wed, 19 Oct 2011 17:37:07 +0000 (19:37 +0200)]
subtitleoverlay: fix leak of element reference through pad block
If the pad block never happens because there is no data flow at all, the
callback is never fired and the reference is never released. This causes a
reference cycle between the pad and element, so valgrind is not very vocal
about it (memory is still reachable).
Mark Nauwelaerts [Tue, 18 Oct 2011 19:42:21 +0000 (21:42 +0200)]
audiodecoder: having gather queue contents implies some draining is in order
... which ensures e.g. processing and sending last fragment of reverse playback
downstream at EOS.
Vincent Penquerc'h [Wed, 19 Oct 2011 14:28:44 +0000 (15:28 +0100)]
vorbisdec: do not try to read past the buffer array
https://bugzilla.gnome.org/show_bug.cgi?id=662108
Mark Nauwelaerts [Tue, 18 Oct 2011 19:40:54 +0000 (21:40 +0200)]
vorbisdec: only finish header packet frame if received in-stream
... rather than scaring audiodecoder with a frame extracted from caps.
Fixes #662108 (partially).
Stefan Sauer [Wed, 19 Oct 2011 08:41:31 +0000 (10:41 +0200)]
x(v)imagesink: make it more clean that "synchronous" props are not for avsync
Tim-Philipp Müller [Tue, 18 Oct 2011 23:32:13 +0000 (00:32 +0100)]
baseaudiosink: fix unused variable compiler warning if debugging in core is disabled
https://bugzilla.gnome.org/show_bug.cgi?id=660150
René Stadler [Tue, 18 Oct 2011 11:00:29 +0000 (13:00 +0200)]
subtitleoverlay: fix event unref in (rare) error case
Vincent Penquerc'h [Fri, 7 Oct 2011 16:41:32 +0000 (17:41 +0100)]
decodebin2: fire drained signal where appropriate
This will allow playbin2 to send its about-to-finish signal.
Taken out (apparently by mistake) by the EOS rewrite in july.
https://bugzilla.gnome.org/show_bug.cgi?id=661202
Vincent Penquerc'h [Sun, 16 Oct 2011 10:32:41 +0000 (11:32 +0100)]
oggdemux: do not retry seeking indefinitely
https://bugzilla.gnome.org/show_bug.cgi?id=661897
Brian Cameron [Mon, 10 Oct 2011 11:11:59 +0000 (13:11 +0200)]
videotestsrc: fix LDADD missing GST_LIBS
Mark Nauwelaerts [Sun, 9 Oct 2011 19:19:32 +0000 (21:19 +0200)]
vorbisenc: only push header buffers following initial events
Alessandro Decina [Sun, 9 Oct 2011 14:48:18 +0000 (16:48 +0200)]
audioencoder: fix compile warning
Mark Nauwelaerts [Sat, 8 Oct 2011 18:17:43 +0000 (20:17 +0200)]
tests: vorbisenc: adjust discontinuity checking to audioencoder behaviour
... which still detects gaps and marks DISCONT, depending on configuration,
but may come up with somewhat different timestamps when crossing the gap.
Mark Nauwelaerts [Sat, 8 Oct 2011 18:16:04 +0000 (20:16 +0200)]
tests: vorbisdec: properly configure audiodecoder when requiring perfect ts
Mark Nauwelaerts [Sat, 8 Oct 2011 18:14:27 +0000 (20:14 +0200)]
tests: vorbisdec: remove empty header buffer check
... as empty buffers are discarded, and header buffers are now
also optionally retrieved from caps anyway.
Mark Nauwelaerts [Sat, 8 Oct 2011 18:13:11 +0000 (20:13 +0200)]
audioencoder: only resync to upstream upon discont in perfect ts mode
... as documented, where discont is marked here if tolerance has been
exceeded.
Mark Nauwelaerts [Sat, 8 Oct 2011 18:11:22 +0000 (20:11 +0200)]
audiodecoder: fix timestamp tolerance handling
Mark Nauwelaerts [Sat, 8 Oct 2011 18:09:09 +0000 (20:09 +0200)]
audiodecoder: handle empty input by discarding
Mark Nauwelaerts [Fri, 7 Oct 2011 12:52:33 +0000 (14:52 +0200)]
vorbisdec: port to audiodecoder
Mark Nauwelaerts [Fri, 7 Oct 2011 12:33:04 +0000 (14:33 +0200)]
audioencoder: make upstream queries MT-safe
Mark Nauwelaerts [Fri, 7 Oct 2011 12:32:33 +0000 (14:32 +0200)]
audiodecoder: make upstream queries and events MT-safe
Mark Nauwelaerts [Wed, 5 Oct 2011 13:43:35 +0000 (15:43 +0200)]
vorbisenc: port to audioencoder
Vincent Penquerc'h [Thu, 6 Oct 2011 17:21:29 +0000 (18:21 +0100)]
tests: actually test what we said we would
All tests were testing the default sine wave
https://bugzilla.gnome.org/show_bug.cgi?id=661106
Vincent Penquerc'h [Thu, 6 Oct 2011 17:20:32 +0000 (18:20 +0100)]
audiotestsrc: add missing break
And make violet noise usable
https://bugzilla.gnome.org/show_bug.cgi?id=661105
Vincent Penquerc'h [Thu, 6 Oct 2011 14:38:49 +0000 (15:38 +0100)]
playsink: fix caps negotiation through the new convenience bins
The bins' getcaps was bypassing the inner elements, and thus
failing to account for the caps transformations they allow,
which caused YUV video pipelines to fail with ximagesink, which
does not support YUV, even though the convenience bin includes
a colorspace converter for just this purpose.
https://bugzilla.gnome.org/show_bug.cgi?id=660816
Vincent Penquerc'h [Thu, 6 Oct 2011 10:53:26 +0000 (11:53 +0100)]
playbin2: fix mismatch between video/ and video/x-dvd-subpicture
The new code was checking for a prefix, and would find video/
first. Check in two passes, first checking for a perfect match,
and falling back to a prefix check if nothing was found.
https://bugzilla.gnome.org/show_bug.cgi?id=657261
Thiago Santos [Wed, 5 Oct 2011 00:17:37 +0000 (21:17 -0300)]
encodebin: Re-enable parsers
Re-enable parsers in encodebin to allow more passthrough scenarios
to work. Specially the ones that require changing 'stream formats'.
i.e. h264 in mkv to mpegts.
Robert Swain [Wed, 5 Oct 2011 10:45:19 +0000 (12:45 +0200)]
playsink: Add audio- and text-sink props
Stefan Sauer [Tue, 4 Oct 2011 21:09:42 +0000 (23:09 +0200)]
auditestsrc: indent fix
Robert Swain [Tue, 4 Oct 2011 14:22:55 +0000 (16:22 +0200)]
playsink: Add video-sink property
The video-sink property allows manual specification via g_object_set ()
of the video sink element to be used.
Sebastian Dröge [Mon, 3 Oct 2011 13:20:06 +0000 (15:20 +0200)]
playbin2: Minor cleanup of decoder-sink compatibility checking code
Thibault Saunier [Fri, 30 Sep 2011 15:29:34 +0000 (12:29 -0300)]
playbin2: Make sure that the decoders we plug are compatible with the fixed sink
The fact that a decoder is not compatible with the fixed sink
is currently happenning in the case where we have hardware accelerated
video decoders on the system (especially vaapi elements that are actually plugged),
and the user is providing a sink that doesn't support the surface.
A simple example that shows how it used to crash on a system where gstreamer-vaapi
is installed:
gst-launch playbin2 video-sink=xvimagesink uri=/codec/supported/by/vaapi
What we are now doing in this case, is avoid using the accelerated
decoder and plug a "normal" decoder instead (if avalaible).
This commit doesn't handle the case where we have hardware accelerated
demuxing.
Vincent Penquerc'h [Fri, 18 Feb 2011 11:48:37 +0000 (11:48 +0000)]
encoding-profile: add a function to create a profile from a discoverer info
Only A/V streams are added at the moment, there does not seem to be
a similar way to add other streams (eg, subtitles).
https://bugzilla.gnome.org/show_bug.cgi?id=642878
Vincent Penquerc'h [Mon, 26 Sep 2011 23:26:29 +0000 (00:26 +0100)]
alsasrc: fail gracefully when ALSA does not give timestamps
https://bugzilla.gnome.org/show_bug.cgi?id=660170
Sebastian Dröge [Mon, 3 Oct 2011 08:55:53 +0000 (10:55 +0200)]
decodebin2: Use a TIME limit for pre-rolling in live streams and not in non-live streams
Fixes bug #647769 for real.
Vincent Penquerc'h [Sat, 1 Oct 2011 00:05:00 +0000 (01:05 +0100)]
textoverlay: add YV12 support
Basically the same as I420, just with chroma planes swapped.
https://bugzilla.gnome.org/show_bug.cgi?id=660604
Thiago Santos [Fri, 30 Sep 2011 12:44:12 +0000 (09:44 -0300)]
encodebin: Fix typo on formatter adding condition
The condition is if the muxer doesn't have tag setter *and* isn't
a formatter itself. Any of those two conditions makes the muxer
good enough to not need a formatter.
Mark Nauwelaerts [Wed, 28 Sep 2011 13:41:16 +0000 (15:41 +0200)]
audiodecoder: really push pending events
Tim-Philipp Müller [Wed, 28 Sep 2011 13:32:20 +0000 (14:32 +0100)]
audioencoder: remove more tags from upstream tag events such as bitrate tags
We want to remove all codec specific tags.
Raimo Järvi [Tue, 27 Sep 2011 22:56:42 +0000 (01:56 +0300)]
videotestsrc: Fix compiler warning on 64 bit mingw-w64
Fixes bug #660304.
Raimo Järvi [Tue, 27 Sep 2011 22:11:30 +0000 (01:11 +0300)]
playbin2: Fix compiler warnings on 64 bit mingw-w64
Fixes bug #660301.
Mark Nauwelaerts [Tue, 27 Sep 2011 14:18:05 +0000 (16:18 +0200)]
audioencoder: only got_data if we really got some
... which avoids going loopy with casual subclass.
Mark Nauwelaerts [Tue, 27 Sep 2011 14:57:45 +0000 (16:57 +0200)]
audioencoder: really push pending events
Mark Nauwelaerts [Tue, 27 Sep 2011 14:16:54 +0000 (16:16 +0200)]
audioencoder: send tag event after pending events
... which probably includes a pending newsegment event.
Mark Nauwelaerts [Tue, 27 Sep 2011 14:16:29 +0000 (16:16 +0200)]
audioencoder: protect pending_events with proper lock
Mark Nauwelaerts [Tue, 27 Sep 2011 13:31:20 +0000 (15:31 +0200)]
audioencoder: clean up some documentation
Tim-Philipp Müller [Mon, 26 Sep 2011 23:32:41 +0000 (00:32 +0100)]
docs: minor docs fix
Sebastian Dröge [Mon, 26 Sep 2011 14:36:56 +0000 (16:36 +0200)]
docs: Adjust for GstAudioEncoder API changes
Sebastian Dröge [Mon, 26 Sep 2011 14:36:22 +0000 (16:36 +0200)]
win32: Adjust for GstAudioEncoder API changes
Sebastian Dröge [Mon, 26 Sep 2011 14:35:55 +0000 (16:35 +0200)]
audioencoder: Improve set_frame_sample_{min,max} documentation
Sebastian Dröge [Mon, 26 Sep 2011 14:22:00 +0000 (16:22 +0200)]
audiodecoder: Fix thread safety issues if both pads have different streaming threads
Sebastian Dröge [Mon, 26 Sep 2011 14:19:42 +0000 (16:19 +0200)]
audiodecoder: Delay sending of serialized events to finish_frame()
Sebastian Dröge [Mon, 26 Sep 2011 14:02:51 +0000 (16:02 +0200)]
Revert "audioencoder: Use GST_BOILERPLATE instead of custom GObject boilerplate code"
This reverts commit
11e375486e07cfa0686a97b5cf6110909b3a828c.
GST_BOILERPLATE() can't define an abstract type and
G_DEFINE_ABSTRACT_TYPE() does not pass the class struct to
the instance_init function and there's no way to get the
class struct of the current type in instance_init().
Sebastian Dröge [Mon, 26 Sep 2011 13:59:22 +0000 (15:59 +0200)]
audioencoder: Add support for requesting a minimum and maximum number of samples per frame
This extends the special case of a fixed number of samples per frame
that was supported before already.
Sebastian Dröge [Mon, 26 Sep 2011 13:45:40 +0000 (15:45 +0200)]
audioencoder: Fix thread safety issues if both pads have different streaming threads
Sebastian Dröge [Mon, 26 Sep 2011 13:42:14 +0000 (15:42 +0200)]
audioencoder: Delay sending of serialized events to finish_frame()
This makes sure that the caps are already set before any serialized
events are sent downstream.