Dirk Van Haerenborgh [Thu, 31 Jan 2013 10:41:06 +0000 (11:41 +0100)]
riff: add support for raw monochrome 8-bit video
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692930
Wim Taymans [Tue, 29 Jan 2013 09:18:06 +0000 (10:18 +0100)]
visualizer: improve allocation
Based on patch by Matthew Waters
Add private data
Add decide_allocation vmethod
Refactor bufferpool negotiation
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=681719
Stefan Sauer [Mon, 28 Jan 2013 19:41:44 +0000 (20:41 +0100)]
Automatic update of common submodule
From a942293 to 2de221c
B.Prathibha [Sun, 27 Jan 2013 04:15:59 +0000 (09:45 +0530)]
tests: use g_timeout_add_seconds wherever possible.
https://bugzilla.gnome.org/show_bug.cgi?id=692613
Olivier Crête [Fri, 25 Jan 2013 01:15:09 +0000 (20:15 -0500)]
docs: Put GST_*_INIT into the -sections.txt file too
Olivier Crête [Fri, 25 Jan 2013 01:12:41 +0000 (20:12 -0500)]
doc: Sort new things into ..-libs-sections.txt
yanghuolin [Thu, 15 Nov 2012 08:31:47 +0000 (03:31 -0500)]
alsasink: don't use 100% CPU
The root cause is that alsa-lib is not thread safe for the same handle.
There are two threads in the gstreamer accessing alsa-lib not serilized.
The race condition happens when one thread holds the old framebuffer app_ptr
position in the kernel, another thread advances the framebuffer app_ptr.
when the former thread is scheduled to run again, it overwrites the app_ptr
to old value by copying from kernel.Thus,the app_ptr in the upper
alsa-lib(pcm_rate) become one period size more advanced than the lower
alsa-lib(pcm_hw & kernel).
gstreamer uses noblock and poll method to communicate with the alsa-lib.
The app_ptr unsync situation as described above makes the poll return immediately because
it concludes there is enough space for the ring-buffer via the low-level alsa-lib.
The write function returns immediately because it concludes there is not enough
space for the ring-buffer from the upper-level alsa-lib. Then the loop of poll
and write runs again and again until another period size is available for
ring-buffer.This leads to the cpu 100 problem.
delay_lock is used to avoid the race condition.
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=690937
Tim-Philipp Müller [Sat, 19 Jan 2013 13:03:03 +0000 (13:03 +0000)]
decodebin: try harder to always expose pads in the same order
Use stream-id as sort criterion in addition to the media type.
https://bugzilla.gnome.org/show_bug.cgi?id=634407
Tim-Philipp Müller [Thu, 17 Jan 2013 09:50:16 +0000 (09:50 +0000)]
tests: disable ABI checks for architectures with outdated structure size files
Tim-Philipp Müller [Wed, 16 Jan 2013 10:16:27 +0000 (10:16 +0000)]
gst-libs: use GST_*_1_0 environment variables everywhere
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
Tim-Philipp Müller [Wed, 16 Jan 2013 10:16:14 +0000 (10:16 +0000)]
po: update for new translatable string
Tim-Philipp Müller [Tue, 15 Jan 2013 17:33:38 +0000 (17:33 +0000)]
pbutils: add description for SBC audio caps
Tim-Philipp Müller [Tue, 15 Jan 2013 17:27:31 +0000 (17:27 +0000)]
typefinding: add typefind functions for SBC audio
https://bugzilla.gnome.org/show_bug.cgi?id=690582
Tim-Philipp Müller [Tue, 15 Jan 2013 15:04:12 +0000 (15:04 +0000)]
Automatic update of common submodule
From a72faea to a942293
Martin Pitt [Tue, 15 Jan 2013 12:39:20 +0000 (12:39 +0000)]
tests: use _1_0 variants for the various registry variables
These override the variants without version suffix. Makes
'make check' work properly in environments that set the
suffixed variant for 1.0, such as jhbuild.
Martin Pitt [Tue, 15 Jan 2013 12:06:28 +0000 (13:06 +0100)]
Set $GST_PLUGIN_PATH_1_0 for tests as well
jhbuild already sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH. Set
both for the tests to see the locally built elements. Fixes 'make check' in
jhbuild.
Pete Beardmore [Mon, 24 Dec 2012 18:25:10 +0000 (18:25 +0000)]
riff: add waveformatextension generic support
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690591
Tim-Philipp Müller [Mon, 14 Jan 2013 10:34:04 +0000 (10:34 +0000)]
docs: fix 0.10-ism in GstTagImageType docs
The image type is not in the info structure in the sample,
not in the caps.
https://bugzilla.gnome.org/show_bug.cgi?id=691687
Stefan Sauer [Wed, 9 Jan 2013 22:15:06 +0000 (23:15 +0100)]
volume: a return value of FALSE from the controller is not fatal
A return value of FALSE here indicates that we don't have control-values. In
0.10 we were returning the default value of the property. Now we don't fill an
array with defaults in the ControlBinding, but leave it up to the element to
handle this case.
Vincent Penquerc'h [Mon, 7 Jan 2013 18:01:31 +0000 (18:01 +0000)]
oggdemux: fix incorrect testing of invalid granpos values
Positive granulepos is valid, -1 granulepos is unset, and all
other negative granulepos are invalid.
Reported by Tim-Philipp Müller
Nicolas Dufresne [Mon, 30 Apr 2012 18:31:16 +0000 (14:31 -0400)]
videoencoder: Remove done ToDo
https://bugzilla.gnome.org/show_bug.cgi?id=675761
Nicolas Dufresne [Wed, 2 May 2012 17:50:45 +0000 (13:50 -0400)]
videoencoder: Documentation fix
https://bugzilla.gnome.org/show_bug.cgi?id=675761
Tim-Philipp Müller [Sat, 29 Dec 2012 14:29:53 +0000 (14:29 +0000)]
audio: don't use uninitialized variable in debug log
https://bugzilla.gnome.org/show_bug.cgi?id=667317
Tim-Philipp Müller [Sun, 23 Dec 2012 15:51:51 +0000 (15:51 +0000)]
encoding-profile: add special-casing for asf/wmv/wma file extensions
https://bugzilla.gnome.org/show_bug.cgi?id=636753
Tim-Philipp Müller [Sun, 23 Dec 2012 15:32:02 +0000 (15:32 +0000)]
win32: update .def file for new rtsp API
Tim-Philipp Müller [Sun, 23 Dec 2012 15:26:59 +0000 (15:26 +0000)]
encoding-profile: add gst_encoding_profile_get_file_extension()
API: gst_encoding_profile_get_file_extension()
https://bugzilla.gnome.org/show_bug.cgi?id=636753
Tim-Philipp Müller [Sat, 22 Dec 2012 21:19:51 +0000 (21:19 +0000)]
textoverlay: minor clean-up
Remove some macros that aren't needed any more.
Tim-Philipp Müller [Sat, 22 Dec 2012 21:18:11 +0000 (21:18 +0000)]
textoverlay: support shaded background for A420 format
https://bugzilla.gnome.org/show_bug.cgi?id=687817
Tim-Philipp Müller [Sat, 22 Dec 2012 21:04:11 +0000 (21:04 +0000)]
video: fix A420 size calculation
Wim Taymans [Fri, 21 Dec 2012 15:38:36 +0000 (16:38 +0100)]
decodebin2: use NO_RESYNC flag
to avoid the state change function from messing with the state of the elements
that we add.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690420
Wim Taymans [Fri, 21 Dec 2012 13:03:32 +0000 (14:03 +0100)]
riff: add channel masks for all formats
Add the channel masks for all the extensible formats
Pass the number of channels instead of reading them from caps.
Pete Beardmore [Fri, 21 Dec 2012 02:27:12 +0000 (02:27 +0000)]
riff: add waveformatextension ac3 support
fixes #690591
Wim Taymans [Thu, 20 Dec 2012 15:42:42 +0000 (16:42 +0100)]
audioclock: mark as using some other clock
We need to mark our clock as using some other clock source. Alsa source uses the
clock type to decide if it can use alsa driver timestamps or not.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=690465
Wim Taymans [Thu, 20 Dec 2012 15:41:48 +0000 (16:41 +0100)]
audiobasesrc: init variable
We need to initialize this variable because we can't be sure that the subclass
will set it.
Thijs Vermeir [Tue, 18 Dec 2012 14:34:42 +0000 (15:34 +0100)]
vorbis: fix unused variable
Thijs Vermeir [Tue, 18 Dec 2012 14:31:52 +0000 (15:31 +0100)]
video: use appropriate printf format for gsize
Thijs Vermeir [Tue, 18 Dec 2012 14:27:48 +0000 (15:27 +0100)]
rtp: fix compiler warning
comparison is always true due to limited range of data type
Tim-Philipp Müller [Mon, 17 Dec 2012 20:32:52 +0000 (20:32 +0000)]
alsasrc: return negative value on read error
Otherwise baseaudiosrc won't go into the error code path.
https://bugzilla.gnome.org/show_bug.cgi?id=690197
Tim-Philipp Müller [Mon, 17 Dec 2012 20:28:12 +0000 (20:28 +0000)]
audiobasesrc: bail out if subclass posts an error
Use new ringbuffer ERROR state to make all the various
threads bail out correctly when the subclass posts an
error. It's a bit iffy to communicate this properly
between the different bits of code.
https://bugzilla.gnome.org/show_bug.cgi?id=690197
Tim-Philipp Müller [Mon, 17 Dec 2012 20:26:33 +0000 (20:26 +0000)]
audioringbuffer: add GST_AUDIO_RING_BUFFER_STATE_ERROR state
API: GST_AUDIO_RING_BUFFER_STATE_ERROR
https://bugzilla.gnome.org/show_bug.cgi?id=690197
Thibault Saunier [Sat, 15 Dec 2012 17:43:40 +0000 (14:43 -0300)]
encodebing: Use the preset_name as the factory name and preset as the name of the preset
The naming is not perfect, but at least we can keep the exact same behaviour as
before.
Thiago Santos [Tue, 2 Aug 2011 13:11:14 +0000 (10:11 -0300)]
audiobasesrc: Always resync the ringbuffer on the first buffer
In SKEW mode, use next_sample == -1 to check for the first sample
when starting to read samples so it resyncs the ringbuffer and
timestamps are ok.
Suggestion from Teemu Katajisto <teemu.katajisto@digia.com>
https://bugzilla.gnome.org/show_bug.cgi?id=648359
Tim-Philipp Müller [Mon, 17 Dec 2012 00:59:57 +0000 (00:59 +0000)]
ssaparse: ignore invalid UTF-8 in init section
The codec data blob we get from matroskademux with the SSA/ASS
init section is supposed to be valid UTF-8. If it's not, just
continue with the bits that are valid UTF-8 instead of erroring
out. We don't actually parse the init section yet anyway..
https://bugzilla.gnome.org/show_bug.cgi?id=607630
Tim-Philipp Müller [Sun, 16 Dec 2012 12:34:14 +0000 (12:34 +0000)]
subparse: fix GError leak
Tim-Philipp Müller [Sun, 16 Dec 2012 12:05:02 +0000 (12:05 +0000)]
typefinding: detect stand-alone SSA/ASS subtitle files
https://bugzilla.gnome.org/show_bug.cgi?id=625113
Tim-Philipp Müller [Sat, 15 Dec 2012 19:36:56 +0000 (19:36 +0000)]
alsa: post error message when audio device disappears
Don't loop forever if an USB audio device gets disconnected
while in use. Post an error message instead. This is not
enough yet though, we still need to make the base class
and/or the ring buffer bail out.
https://bugzilla.gnome.org/show_bug.cgi?id=690197
Tim-Philipp Müller [Fri, 14 Dec 2012 20:27:53 +0000 (20:27 +0000)]
pbutils: add some more flags and file extensions to internal media type descriptions table
For later use.
https://bugzilla.gnome.org/show_bug.cgi?id=636753
https://bugzilla.gnome.org/show_bug.cgi?id=549111
Wim Taymans [Fri, 14 Dec 2012 10:36:58 +0000 (11:36 +0100)]
rtspconnection: add limit to queued messages
Add a limit to the amount of queued bytes or messages we allow on the watch.
API: GstRTSPConnection::gst_rtsp_watch_set_send_backlog()
API: GstRTSPConnection::gst_rtsp_watch_get_send_backlog()
Wim Taymans [Thu, 13 Dec 2012 10:31:28 +0000 (11:31 +0100)]
playsink: fix vis switch with format change
Block the pad before the resample and convertor elements to give the a chance to
negotiate new caps with the newly switched vis plugin.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=679976
Christian Fredrik Kalager Schaller [Thu, 13 Dec 2012 10:03:30 +0000 (11:03 +0100)]
Fix spec file to match latest header reshuffle
Sebastian Dröge [Wed, 12 Dec 2012 17:22:31 +0000 (17:22 +0000)]
ext: Fix some compilation errors caused by circular header includes
Sebastian Dröge [Wed, 12 Dec 2012 17:13:10 +0000 (17:13 +0000)]
libs: Use foo/foo.h as single-include header consistently everywhere
https://bugzilla.gnome.org/show_bug.cgi?id=688785
Tim-Philipp Müller [Wed, 12 Dec 2012 15:31:20 +0000 (15:31 +0000)]
typefindfunctions: aac: don't try to unref NULL caps
Tim-Philipp Müller [Mon, 10 Dec 2012 13:39:27 +0000 (13:39 +0000)]
docs: update
Tim-Philipp Müller [Mon, 10 Dec 2012 13:35:37 +0000 (13:35 +0000)]
docs: fix up some more GstXOverlay -> GstVideoOverlay
https://bugzilla.gnome.org/show_bug.cgi?id=689740
Sebastian Dröge [Mon, 10 Dec 2012 11:49:46 +0000 (11:49 +0000)]
videodecoder: Only keep track of timestamps if the subclass is parsing data
Otherwise we just pass through the timestamps directly and don't
need to waste additional memory for them.
Fixes bug #689814.
Sebastian Rasmussen [Fri, 7 Dec 2012 23:21:17 +0000 (00:21 +0100)]
rtspmessage: Add several missing g-i annotations
https://bugzilla.gnome.org/show_bug.cgi?id=689873
Tim-Philipp Müller [Sun, 9 Dec 2012 22:36:32 +0000 (22:36 +0000)]
win32: add new encoding profile API to .def file
Thibault Saunier [Wed, 5 Dec 2012 20:53:19 +0000 (17:53 -0300)]
tests: encodebin: Properly rename new preset test
Thibault Saunier [Wed, 5 Dec 2012 18:22:42 +0000 (15:22 -0300)]
encodebin: Make use of the new preset_name when setting a preset
The behaviour is sensibly changed here. Instead of purely falling when a
preset is set on the #GstEncodingProfile, we now make sure that the
element that is plugged corresponds to the one specified as preset. Then,
if we have a preset_name, we use it, if it fails, we fail (we might rather
just keep working even without setting the element properties?)
+ Add tests that it behave correctly
Thibault Saunier [Wed, 5 Dec 2012 18:21:43 +0000 (15:21 -0300)]
encoding-profile: Let the user decide what preset name to use
It was possible to decide only what #GstElement implementing #GstPreset
to use during the encoding, we can now let the user select a specific preset previously
saved using #gst_preset_save_preset specifying the name chosen when it was saved
in the gst_encoding_profile_set_preset_name.
Actually loading a preset with %NULL as a name would have always failed, so
in the current state of the API that feature is unusable
API:
gst_encoding_profile_set_preset_name
gst_encoding_profile_get_preset_name
Thiago Santos [Tue, 4 Dec 2012 16:16:09 +0000 (13:16 -0300)]
pbutils: encoding-profile: fix _new function introspection docs
Makes the parameter accept NULL as input for GI bindings
Tim-Philipp Müller [Sun, 2 Dec 2012 12:54:17 +0000 (12:54 +0000)]
tcp: print warning if someone tries to add clients in NULL state
And mention this in docs.
https://bugzilla.gnome.org/show_bug.cgi?id=689326
Tim-Philipp Müller [Sun, 2 Dec 2012 12:33:43 +0000 (12:33 +0000)]
audioencoder: add some more debug info and remove obsolete comment
Tim-Philipp Müller [Fri, 30 Nov 2012 12:15:48 +0000 (12:15 +0000)]
win32: update .def for new API
Tim-Philipp Müller [Thu, 29 Nov 2012 13:42:45 +0000 (13:42 +0000)]
test: add test for playbin in combination with appsink
Make sure appsink works multiple times in a row.
Disable it though for now though.
https://bugzilla.gnome.org/show_bug.cgi?id=644989
Edward Hervey [Wed, 28 Nov 2012 17:50:45 +0000 (18:50 +0100)]
configure.ac: Update libtool versioning
In order for 1.x and 1.(x+1) versions to not invade on each other
we need to have different lib versions.
So we need a consistent and predictable scheme:
library version number = MINOR * 100 + MICRO
Ex:
1.0.0 => 0 (duh)
1.0.3 => 3
1.1.0 => 100
1.1.1 => 101
1.2.0 => 120
1.10.5 => 1005
Wim Taymans [Tue, 27 Nov 2012 10:02:19 +0000 (11:02 +0100)]
rtsp: add method to parse options list
Sebastian Dröge [Tue, 27 Nov 2012 09:30:08 +0000 (10:30 +0100)]
videoscale: Fix unit test to ignore unsupported color formats
Tim-Philipp Müller [Mon, 26 Nov 2012 18:41:07 +0000 (18:41 +0000)]
streamsynchronizer: don't send gap events with huge bogus durations when advancing EOS streams
When the input buffers for a stream don't have a duration set,
timestamp_end might still be GST_CLOCK_TIME_NONE. When advancing
EOSed streams via GAP events (with other streams not yet EOS), we
would then use the invalid timestamp_end to calculate the duration
of the gap. This in turn would make baseaudiosink abort, because it
would try to allocate memory for a trizillion samples.
So if buffers don't have a duration set, assume a duration of
one second for stream catch-up purposes, just so we can still
continue to catch up in those cases. And make sure that
timestamp_end is valid before doing calculations with it.
http://bugzilla.gnome.org/show_bug.cgi?id=678530
Tim-Philipp Müller [Sun, 25 Nov 2012 18:07:04 +0000 (18:07 +0000)]
streamsynchronizer: reduce debug log spam a bit
Log locking/unlocking with TRACE debug level.
Tim-Philipp Müller [Fri, 23 Nov 2012 13:58:25 +0000 (13:58 +0000)]
docs: update audio multi-channel docs
Remove includes and functions that don't exist any longer,
add new ones instead.
Christian Fredrik Kalager Schaller [Fri, 23 Nov 2012 10:14:40 +0000 (11:14 +0100)]
Add new header files
Sebastian Dröge [Thu, 22 Nov 2012 12:09:46 +0000 (13:09 +0100)]
decodebin: Set element to NULL state before removing it from the bin
Sebastian Dröge [Thu, 22 Nov 2012 12:06:14 +0000 (13:06 +0100)]
decodebin: Check if the element really accepts the caps after setting it to READY
It might know the caps constraints for sure only after opening a decoder.
Tim-Philipp Müller [Wed, 21 Nov 2012 23:17:22 +0000 (23:17 +0000)]
audio: remove bogus Since marker from docs
It was causing perl warnings in gtk-doc code.
Tim-Philipp Müller [Wed, 21 Nov 2012 21:53:13 +0000 (21:53 +0000)]
app: fix g-i annotation for gst_app_src_push_buffer()
It takes ownership of the buffer.
Tim-Philipp Müller [Wed, 21 Nov 2012 20:51:37 +0000 (20:51 +0000)]
win32: update .def file for new rtsp API
Wim Taymans [Wed, 21 Nov 2012 15:25:24 +0000 (16:25 +0100)]
rtsprange: add string conversion for new formats
Wim Taymans [Wed, 21 Nov 2012 14:29:59 +0000 (15:29 +0100)]
rtsprange: add method to convert ranges to GstClockTime
Add a method to convert the values of GstRTSPRange to GstClockTime.
Add unit tests for the conversions.
API: gst_rtsp_range_get_times()
Wim Taymans [Wed, 21 Nov 2012 14:22:13 +0000 (15:22 +0100)]
range: don't overwrite unit field
Wim Taymans [Wed, 21 Nov 2012 11:12:28 +0000 (12:12 +0100)]
range: add g_return_if check
Sebastian Dröge [Wed, 21 Nov 2012 10:12:57 +0000 (11:12 +0100)]
libs: Fix last commit by using correct include paths and only include existing headers
Evan Nemerson [Wed, 21 Nov 2012 07:22:27 +0000 (23:22 -0800)]
libs: Add missing single include headers and use them in GIRs
Sebastian Dröge [Wed, 21 Nov 2012 09:28:31 +0000 (10:28 +0100)]
streamsynchronizer: Make the element public
https://bugzilla.gnome.org/show_bug.cgi?id=688240
Wim Taymans [Wed, 21 Nov 2012 09:25:51 +0000 (10:25 +0100)]
rtsprange: improve docs
Sebastian Dröge [Tue, 20 Nov 2012 13:56:45 +0000 (14:56 +0100)]
discoverer: Add support for getting the stream-id
https://bugzilla.gnome.org/show_bug.cgi?id=654830
Sebastian Dröge [Tue, 20 Nov 2012 13:37:51 +0000 (14:37 +0100)]
discoverer: Use switch/case instead of lots of ifs for the event handling
Sebastian Dröge [Tue, 20 Nov 2012 11:21:08 +0000 (12:21 +0100)]
videodecoder: Return the proportion directly
Sebastian Dröge [Tue, 20 Nov 2012 11:08:26 +0000 (12:08 +0100)]
videodecoder: Rename from get_qos_info() to get_qos_proportion()
And only return the proportion. The earliest time already can be
retrieved from get_max_decode_time() and by renaming we allow this
to be more extensible in the future.
Wim Taymans [Tue, 20 Nov 2012 10:10:30 +0000 (11:10 +0100)]
check: update for larger struct
Wim Taymans [Tue, 20 Nov 2012 08:18:44 +0000 (09:18 +0100)]
rtsp: avoid ABI break
Move new fields into structures appended at the end of the GstRTSPRange
to avoid ABI break.
Alessandro Decina [Tue, 20 Nov 2012 06:17:00 +0000 (07:17 +0100)]
pbutils: fix transfer annotation for gst_encoding_profile_set_restriction
Andoni Morales Alastruey [Fri, 9 Nov 2012 14:37:57 +0000 (15:37 +0100)]
videodecoder: add getter for QoS proportion and earliest_time
Add a getter for the QoS proportion and earliest_time to help
subclasses do better estimations based on the proportion.
API: gst_video_decoder_get_qos_info()
https://bugzilla.gnome.org/show_bug.cgi?id=687991
Wim Taymans [Mon, 19 Nov 2012 16:08:38 +0000 (17:08 +0100)]
rtsp: fix format string
Wim Taymans [Mon, 19 Nov 2012 15:59:48 +0000 (16:59 +0100)]
rtsp: parse UTC ranges
Wim Taymans [Mon, 19 Nov 2012 15:15:46 +0000 (16:15 +0100)]
rtsp: parse SMPTE ranges
Wim Taymans [Mon, 19 Nov 2012 15:13:56 +0000 (16:13 +0100)]
range: handle parse errors better
Wim Taymans [Mon, 19 Nov 2012 15:04:01 +0000 (16:04 +0100)]
rtsp: detect npt time parse errors
Wim Taymans [Mon, 19 Nov 2012 12:52:08 +0000 (13:52 +0100)]
check: add rtsp range checks