platform/upstream/gst-plugins-base.git
12 years agoseek: Add window-embedding support for OS X/Quartz
Sebastian Dröge [Mon, 20 Feb 2012 13:35:37 +0000 (14:35 +0100)]
seek: Add window-embedding support for OS X/Quartz

osxvideosink implements the GstXOverlay interface since some time now.

12 years agoseek: Explicitely call gst_x_overlay_expose() from the GtkDrawingArea expose/draw...
Sebastian Dröge [Mon, 20 Feb 2012 13:09:28 +0000 (14:09 +0100)]
seek: Explicitely call gst_x_overlay_expose() from the GtkDrawingArea expose/draw signal

12 years agovideoscale: fix AYUV64 scaling
David Schleef [Sun, 19 Feb 2012 08:03:03 +0000 (00:03 -0800)]
videoscale: fix AYUV64 scaling

12 years agoriff: Add v210, r210 formats
David Schleef [Sun, 19 Feb 2012 01:37:29 +0000 (17:37 -0800)]
riff: Add v210, r210 formats

12 years agodocs: add new audio base class API to docs and .def file
Tim-Philipp Müller [Fri, 17 Feb 2012 15:08:36 +0000 (15:08 +0000)]
docs: add new audio base class API to docs and .def file

12 years agortspconnection: only send new data immediately if there are no queued messages
Ognyan Tonchev [Mon, 30 Jan 2012 14:55:26 +0000 (15:55 +0100)]
rtspconnection: only send new data immediately if there are no queued messages

Even if watch->messages->length is 0 there may still be some
data from a message that was only written partially at the
previous attempt stored in watch->write_data, so check for
that as well. We don't want to write data into the middle
of another message, which could happen when there wasn't
enough bandwidth.

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

12 years agoaudiodecoder: add some properties to tweak baseclass behaviour
Mark Nauwelaerts [Thu, 16 Feb 2012 11:19:20 +0000 (12:19 +0100)]
audiodecoder: add some properties to tweak baseclass behaviour

... so subclass can also rely upon never being bothered with some NULL buffer
it can't do any interesting with, or with any data before it received
any format configuration (and setup properly).

12 years agoaudioencoder: add some properties to tweak baseclass behaviour
Mark Nauwelaerts [Thu, 16 Feb 2012 11:18:03 +0000 (12:18 +0100)]
audioencoder: add some properties to tweak baseclass behaviour

... so subclass can also rely upon never being bothered with less data
than it desires or with some NULL buffer it can't do any interesting with.

12 years agoaudiodecoder: assert some more that subclass parsed frame has proper len
Mark Nauwelaerts [Thu, 16 Feb 2012 11:15:47 +0000 (12:15 +0100)]
audiodecoder: assert some more that subclass parsed frame has proper len

12 years agodocs: fix playbin2 documentation about DVD URIs
Olivier Aubert [Tue, 17 Jan 2012 09:54:48 +0000 (10:54 +0100)]
docs: fix playbin2 documentation about DVD URIs

and playbin => playbin2 in example pipelines.

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

12 years agodiscoverer: try harder to obtain a duration if we don't get one right away
Tim-Philipp Müller [Tue, 14 Feb 2012 19:23:27 +0000 (19:23 +0000)]
discoverer: try harder to obtain a duration if we don't get one right away

If we don't get a duration right away, set the pipeline to playing
and sleep a bit, then try again. This is ugly, but the least worst
we can do right now. The alternative would be to make parsers etc.
return some bogus duration estimate even after only having pushed
a single frame, for example.

Fixes discoverer showing 0 durations for some mp3 and aac files
(e.g. soweto-adts.aac).

12 years agotypefindfunctions: make h264 typefinder more picky when returning "likely" probability
Tim-Philipp Müller [Wed, 8 Feb 2012 19:39:00 +0000 (19:39 +0000)]
typefindfunctions: make h264 typefinder more picky when returning "likely" probability

Only return LIKELY probability if we've seen an SPS, PPS and an
IDR slice nal, i.e. try harder to avoid false positives such
as with certain VC-1 files.

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

12 years agotypefindfunctions: minor cosmetic change
Tim-Philipp Müller [Wed, 8 Feb 2012 19:34:57 +0000 (19:34 +0000)]
typefindfunctions: minor cosmetic change

Don't write < 1 when we mean == 0.

12 years agovideoscale: Add nearest/linear scaling for NV12
David Schleef [Mon, 30 Jan 2012 16:21:54 +0000 (08:21 -0800)]
videoscale: Add nearest/linear scaling for NV12

12 years agovideoscale: Add AYUV64 path to Lanczos
David Schleef [Wed, 25 Jan 2012 23:49:00 +0000 (15:49 -0800)]
videoscale: Add AYUV64 path to Lanczos

12 years agotheoraenc: Use GAP flag when possible
David Schleef [Wed, 31 Aug 2011 02:02:51 +0000 (19:02 -0700)]
theoraenc: Use GAP flag when possible

Set TH_ENCCTL_SET_DUPLICATE_FLAG when we see a gap flag, to
indicate to the encoder that the current frame is a duplicate
of the previous frame.

12 years agoautogen.sh: allow calling from out-of-tree
Ryan Lortie [Sun, 8 Jan 2012 04:09:23 +0000 (23:09 -0500)]
autogen.sh: allow calling from out-of-tree

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

12 years agooggdemux: fix granpos interpolation violating max keyframe distance
Vincent Penquerc'h [Wed, 1 Feb 2012 15:28:45 +0000 (15:28 +0000)]
oggdemux: fix granpos interpolation violating max keyframe distance

In case many packets fit on a page, we may not see a granpos for
a while, and granpos interpolation can wrap the 'frames since last
keyframe' part of the granpos, generating a granpos which is smaller
than what it should be.

This is fixed by detecting keyframe packets (at least for Theora),
and updating the last keyframe granpos from this.

This may still be generating potentially wrong granpos for streams
which have a Theora like granpos (keyframes, a max keyframe distance
and a count of frames since last keyframe), and which allow implicit
granules on packets. For these streams, a custom keyframe detection
routine should be plugged into their GstOggStream mapper.

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

12 years agovorbisparse: pedantically recognize undefined headers too
Vincent Penquerc'h [Wed, 1 Feb 2012 16:46:13 +0000 (16:46 +0000)]
vorbisparse: pedantically recognize undefined headers too

12 years agovorbisparse: fix header detection
Vincent Penquerc'h [Wed, 1 Feb 2012 16:32:24 +0000 (16:32 +0000)]
vorbisparse: fix header detection

It was matching non header packets.

This fixes various leaks, where buffers would be pushed onto a headers
list, but never popped.

Might also fix corruption as those buffers were dropped from the output
silently...

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

12 years agotests: test 16-bit rgb formats in test_parse_caps_rgb
George Kiagiadakis [Tue, 10 Jan 2012 19:17:58 +0000 (21:17 +0200)]
tests: test 16-bit rgb formats in test_parse_caps_rgb

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

12 years agovideo: Use host endianness when generating caps for 16-bit rgb formats
George Kiagiadakis [Tue, 10 Jan 2012 19:02:48 +0000 (21:02 +0200)]
video: Use host endianness when generating caps for 16-bit rgb formats

This is necessary in order to match what the caps strings in
video.h contain for 16-bit rgb formats and also to match how
gst_video_format_parse_caps expects them.

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

12 years agov4l: include the glib compatiblity header for the deprecated mutex API
Vincent Penquerc'h [Fri, 27 Jan 2012 13:52:30 +0000 (13:52 +0000)]
v4l: include the glib compatiblity header for the deprecated mutex API

12 years agoSuppress deprecations in selected files
Edward Hervey [Wed, 25 Jan 2012 11:50:44 +0000 (12:50 +0100)]
Suppress deprecations in selected files

12 years agoRevert "decodebin2: Prune old groups before switching to the new one"
Sebastian Dröge [Wed, 25 Jan 2012 11:25:05 +0000 (12:25 +0100)]
Revert "decodebin2: Prune old groups before switching to the new one"

This reverts commit e2a038acee2969ed0b558093fa1c8b7422073e40.

This wasn't entirely correct yet and needs some changes here
and there.

12 years agopropertyprobe: fix documentation
David Schleef [Mon, 23 Jan 2012 17:28:18 +0000 (09:28 -0800)]
propertyprobe: fix documentation

12 years agoplaybin2: do not try to deactivate an inactive group
Vincent Penquerc'h [Wed, 18 Jan 2012 14:58:08 +0000 (14:58 +0000)]
playbin2: do not try to deactivate an inactive group

A group may have failed to activate due to an error (for instance,
having set the URI to a non existent location in about-to-finish).

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

12 years agosubtitleoverlay: fix state change stall on PAUSED->READY->PAUSED
Anssi Hannula [Tue, 17 Jan 2012 14:05:41 +0000 (16:05 +0200)]
subtitleoverlay: fix state change stall on PAUSED->READY->PAUSED

After a PAUSED->READY change the sink pads are currently not set to
blocking state. When the element is set back to PAUSED, the change will
be done asynchronously, but as the _pad_blocked_cb() callback is now not
called, the state change never completes.

Fix that by setting the sink pads to blocking state on a PAUSED->READY
change, which ensures that the _pad_blocked_cb() is called when needed
on any future READY->PAUSED change. The sink pads are already put to
blocking state on NULL->READY change, so this behavior is consistent.

Fixes bug #668097.

12 years agostreamsynchronizer: avoid unlikely NULL dereference
Mark Nauwelaerts [Thu, 19 Jan 2012 15:40:22 +0000 (16:40 +0100)]
streamsynchronizer: avoid unlikely NULL dereference

12 years agovideoscale: prevent implicit upgrade to integer type and sign extension
Mark Nauwelaerts [Thu, 19 Jan 2012 15:35:54 +0000 (16:35 +0100)]
videoscale: prevent implicit upgrade to integer type and sign extension

12 years agogst-discoverer: remove extraneous variable
Mark Nauwelaerts [Thu, 19 Jan 2012 15:35:04 +0000 (16:35 +0100)]
gst-discoverer: remove extraneous variable

12 years agoplaysink: verify linking to overlay element
Mark Nauwelaerts [Thu, 19 Jan 2012 15:32:37 +0000 (16:32 +0100)]
playsink: verify linking to overlay element

12 years agoplaysink: avoid finding sink in NULL bin in corner case
Mark Nauwelaerts [Thu, 19 Jan 2012 15:32:05 +0000 (16:32 +0100)]
playsink: avoid finding sink in NULL bin in corner case

12 years agotag: exif: add missing break
Mark Nauwelaerts [Thu, 19 Jan 2012 15:29:53 +0000 (16:29 +0100)]
tag: exif: add missing break

12 years agoAdd --disable-fatal-warnings configure option
Tim-Philipp Müller [Thu, 19 Jan 2012 14:07:34 +0000 (14:07 +0000)]
Add --disable-fatal-warnings configure option

12 years agodecodebin2: Prune old groups before switching to the new one
Youness Alaoui [Tue, 13 Sep 2011 23:14:10 +0000 (23:14 +0000)]
decodebin2: Prune old groups before switching to the new one

In order to allow for proper functionality when a decoder only supports
one instance at a time (dsp), we must block the demuxer pads when they
get created if they are not part of the active group, preventing buffers
from being sent to the decoder (and initializing it through setcaps),
then after we switch to a new group, we unblock the demuxer pads for
the active groups. In the callback for the unblock, we prune the old
groups, making sure the previous decoder instance is destroyed before
we push a buffer to the new instance.

12 years agobaseaudiosink: commit correct number of samples when not syncing
Mark Nauwelaerts [Tue, 17 Jan 2012 20:46:58 +0000 (21:46 +0100)]
baseaudiosink: commit correct number of samples when not syncing

12 years agooggstream: initialize variable
Mark Nauwelaerts [Tue, 17 Jan 2012 17:19:30 +0000 (18:19 +0100)]
oggstream: initialize variable

... to help out challenged compiler.

12 years agoaudiodecoder: register state change function
Mark Nauwelaerts [Tue, 17 Jan 2012 10:52:49 +0000 (11:52 +0100)]
audiodecoder: register state change function

12 years agoalsasink: fix high sample rates being rejected
Vincent Penquerc'h [Mon, 16 Jan 2012 11:43:25 +0000 (11:43 +0000)]
alsasink: fix high sample rates being rejected

An ALSA sink may select a different rate (as we use the _set_rate_near
API, which is not guaranteed to set the exact target rate).
The rest of the code seems to already handle this well, as output
from a 88200 Hz file seems to have the correct pitch when selecting
a 96 kHz rate.

12 years agoalsasink: fix rate match message mistaking error code for sample rate
Vincent Penquerc'h [Mon, 16 Jan 2012 11:40:47 +0000 (11:40 +0000)]
alsasink: fix rate match message mistaking error code for sample rate

12 years agoalsasink: log API errors along with the error code and string
Vincent Penquerc'h [Mon, 16 Jan 2012 11:40:16 +0000 (11:40 +0000)]
alsasink: log API errors along with the error code and string

12 years agoAndroid, Add explicit path for zlib
Reynaldo H. Verdejo Pinochet [Fri, 13 Jan 2012 19:57:15 +0000 (16:57 -0300)]
Android, Add explicit path for zlib

This change fixes building gst-libs/gst/tag/ code with
the Android buildsystem.

12 years agoFix wrong access to undefined struct member
Reynaldo H. Verdejo Pinochet [Fri, 13 Jan 2012 17:50:49 +0000 (14:50 -0300)]
Fix wrong access to undefined struct member

For the USE_TREMOLO case, GstVorbisDec doesn't have
a vb member. Besides, Tremolo's vorbis_dsp_synthesis()
expects a vorbis_dsp_state to be passed as first
argument. Not a vorbis_block.

12 years agoFix TREMELO -> TREMOLO typo
Reynaldo H. Verdejo Pinochet [Fri, 13 Jan 2012 17:47:13 +0000 (14:47 -0300)]
Fix TREMELO -> TREMOLO typo

12 years agoxvimagesink: fix leak when images are freed after the X context
Vincent Penquerc'h [Fri, 13 Jan 2012 16:52:23 +0000 (16:52 +0000)]
xvimagesink: fix leak when images are freed after the X context

I'm not 100% sure this is valid on any other X server than mine,
but since the XFree call does not take the context as a parameter,
it seems pretty certain it's the right thing to do, but I'll put
this caveat here in case someone checks in the future.

12 years agotests: discoverer test is now valgrind clean
Tim-Philipp Müller [Thu, 12 Jan 2012 17:31:44 +0000 (17:31 +0000)]
tests: discoverer test is now valgrind clean

12 years agotheoraparse: fix array leak
Vincent Penquerc'h [Thu, 12 Jan 2012 16:24:01 +0000 (16:24 +0000)]
theoraparse: fix array leak

12 years agodiscoverer: fix structure leak
Vincent Penquerc'h [Thu, 12 Jan 2012 14:26:05 +0000 (14:26 +0000)]
discoverer: fix structure leak

I hit the 'misc' one, but let's also make sure the topology
one get freed as well, though I do not know if this can happen
twice.

12 years agoAdd missing DEFAULT_INCLUDES on androgenizer call
Reynaldo H. Verdejo Pinochet [Wed, 11 Jan 2012 23:47:00 +0000 (20:47 -0300)]
Add missing DEFAULT_INCLUDES on androgenizer call

Fix building of the libgstvideo module on Android by adding the
missing and needed $(DEFAULT_INCLUDES) to CFLAGS for the
androgenizer call on gst-libs/gst/video/Makefile.am

Before this change, building was failing due to gst-plugins-base/
and gst-plugins-base/gst-libs/gst/video being left out of the
include path.

12 years agooggdemux: fix push mode chain leak
Vincent Penquerc'h [Wed, 11 Jan 2012 16:17:42 +0000 (16:17 +0000)]
oggdemux: fix push mode chain leak

When I first implemented push mode seeking, I removed the chain
freeing there as it could be used later. The current code does not
seem to do that though, so I'm restoring the previous freeing,
which plugs the leak while apparently not reintroducing use of
freed data with chained and normal files, both with gst-launch
playbin2 and Totem.

12 years agodiscoverer: fix leaks caused by some base class dtors not being called
Vincent Penquerc'h [Wed, 11 Jan 2012 12:52:17 +0000 (12:52 +0000)]
discoverer: fix leaks caused by some base class dtors not being called

12 years agodiscoverer: fix caps and discoverer object ref leaks
Vincent Penquerc'h [Wed, 11 Jan 2012 12:16:28 +0000 (12:16 +0000)]
discoverer: fix caps and discoverer object ref leaks

12 years agodiscoverer: add a few consts where appropriate
Vincent Penquerc'h [Wed, 11 Jan 2012 11:55:59 +0000 (11:55 +0000)]
discoverer: add a few consts where appropriate

12 years agodiscoverer: fix pad leak
Vincent Penquerc'h [Wed, 11 Jan 2012 11:55:36 +0000 (11:55 +0000)]
discoverer: fix pad leak

12 years agoRevert "oggmux: fix pad leak"
Vincent Penquerc'h [Tue, 10 Jan 2012 19:01:11 +0000 (19:01 +0000)]
Revert "oggmux: fix pad leak"

This reverts commit 5df30c1b905edce16f2258e414a0a4afb540d0f1.

I must have dreamt the Valgrind logs, reverting this reintroduces
no leak, and gets rid of the test failures it introduced :S

12 years agodiscoverer: use GST_TYPE_TAG_LIST for tag lists
Tim-Philipp Müller [Tue, 10 Jan 2012 18:27:19 +0000 (18:27 +0000)]
discoverer: use GST_TYPE_TAG_LIST for tag lists

They may not be structures in 0.11/1.0.

12 years agodiscoverer: fix potential tag list leaks
Tim-Philipp Müller [Tue, 10 Jan 2012 18:07:19 +0000 (18:07 +0000)]
discoverer: fix potential tag list leaks

Not that I have ever seen these in practice, but if they
can't happen we may just as well just assign the new tag
list. Merge properly to be on the safe side, and also
avoid a useless tag list copy in the normal case where
there is no tag list yet.

12 years agodiscoverer: fix potential caps leak
Tim-Philipp Müller [Tue, 10 Jan 2012 17:48:44 +0000 (17:48 +0000)]
discoverer: fix potential caps leak

in last else chunk.

12 years agooggstream: fix tag list leak
Vincent Penquerc'h [Tue, 10 Jan 2012 16:57:04 +0000 (16:57 +0000)]
oggstream: fix tag list leak

12 years agooggdemux: fix pad leak
Vincent Penquerc'h [Tue, 10 Jan 2012 16:51:09 +0000 (16:51 +0000)]
oggdemux: fix pad leak

12 years agooggdemux: fix hang on small truncated files
Vincent Penquerc'h [Tue, 10 Jan 2012 16:14:29 +0000 (16:14 +0000)]
oggdemux: fix hang on small truncated files

A first hang was happening when trying to locate a page backwards,
where we'd sync forever on the same page.
With that fixed, a second hang would happen after preparing an EOS
event, but with no chain created yet to send it to, the pipeline
would stay idle forever.
An element error is now emitted for this case.

12 years agooggmux: fix pad leak
Vincent Penquerc'h [Tue, 10 Jan 2012 14:35:31 +0000 (14:35 +0000)]
oggmux: fix pad leak

12 years agoplayback: document DEINTERLACE flag
Mark Nauwelaerts [Mon, 9 Jan 2012 11:31:02 +0000 (12:31 +0100)]
playback: document DEINTERLACE flag

12 years agortspconnection: make hostname lookup more thread-safe
Tim-Philipp Müller [Sat, 7 Jan 2012 20:12:17 +0000 (20:12 +0000)]
rtspconnection: make hostname lookup more thread-safe

Don't write IP number string to return into a static
array which is shared amongst all threads (note: of
course a copy is returned).

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

12 years agodiscoverer: make is_subtitle_caps thread-safe
Tim-Philipp Müller [Sat, 7 Jan 2012 19:39:42 +0000 (19:39 +0000)]
discoverer: make is_subtitle_caps thread-safe

12 years agotests: add ogg test file and some proper unit tests for discoverer
Tim-Philipp Müller [Sat, 7 Jan 2012 16:43:26 +0000 (16:43 +0000)]
tests: add ogg test file and some proper unit tests for discoverer

Leaks when re-used, so blacklisted for valgrind for now.

12 years agowin32: .def file should be sorted for make check-exports
Tim-Philipp Müller [Sat, 7 Jan 2012 14:44:51 +0000 (14:44 +0000)]
win32: .def file should be sorted for make check-exports

12 years agovideo: overlays may now have premultiplied alpha
Vincent Penquerc'h [Wed, 14 Dec 2011 14:14:47 +0000 (14:14 +0000)]
video: overlays may now have premultiplied alpha

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

12 years agoFix various unlikely, but still potential memoryleaks in error code paths
Havard Graff [Tue, 1 Nov 2011 16:57:59 +0000 (17:57 +0100)]
Fix various unlikely, but still potential memoryleaks in error code paths

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

12 years agoappsrc: implement get_caps vfunc
Havard Graff [Sat, 22 Oct 2011 14:41:23 +0000 (16:41 +0200)]
appsrc: implement get_caps vfunc

This allows downstream elements to query what caps are available.

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

12 years agotools: avoid unportable vararg macro construct in gst-discoverer
Tim-Philipp Müller [Thu, 5 Jan 2012 12:23:08 +0000 (12:23 +0000)]
tools: avoid unportable vararg macro construct in gst-discoverer

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

12 years agobuild: Run platform check for platform specific configuration.
Idar Tollefsen [Sun, 1 Jan 2012 19:44:08 +0000 (20:44 +0100)]
build: Run platform check for platform specific configuration.

12 years agortcpbuffer: prevent overflow of 16bit header length.
Pascal Buhler [Wed, 12 Oct 2011 09:28:10 +0000 (11:28 +0200)]
rtcpbuffer: prevent overflow of 16bit header length.

RTCP header can be  (2^16 + 1) * 4 bytes long, so when validating a bogus
packet it was possible to get a 16bit overflow resulting in a length of 0.
This would put the gst_rtcp_buffer_validate_data function in a endless loop.

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

12 years agovideotestsrc: keep the calculation fixed-point
Havard Graff [Sat, 24 Sep 2011 12:05:42 +0000 (14:05 +0200)]
videotestsrc: keep the calculation fixed-point

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

12 years agopango: changes includes from brackets to quotes for local files
Idar Tollefsen [Thu, 4 Aug 2011 09:30:05 +0000 (11:30 +0200)]
pango: changes includes from brackets to quotes for local files

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

12 years agodocs: add win32 code snippets to GstXOverlay Gtk+ example
Philip Flarsheim [Thu, 5 Jan 2012 01:51:35 +0000 (01:51 +0000)]
docs: add win32 code snippets to GstXOverlay Gtk+ example

12 years agovideotestsrc: don't build generate_sine_table utility by default
Tim-Philipp Müller [Tue, 3 Jan 2012 21:20:04 +0000 (21:20 +0000)]
videotestsrc: don't build generate_sine_table utility by default

12 years agostreamsynchronizer: force fallback buffer_alloc when other pad not available
Mark Nauwelaerts [Tue, 3 Jan 2012 10:04:23 +0000 (11:04 +0100)]
streamsynchronizer: force fallback buffer_alloc when other pad not available

... to avoid unnecessary spurious errors (upon e.g. shutdown).
If a real error is applicable in this unusual circumstance (missing other pad),
other (STREAM_LOCK protected) call paths can take care of that.

12 years agostreamsynchronizer: avoid crashing when operating on released pad
Mark Nauwelaerts [Tue, 3 Jan 2012 10:02:17 +0000 (11:02 +0100)]
streamsynchronizer: avoid crashing when operating on released pad

12 years agotag: add function to check whether a string is a valid language code
Tim-Philipp Müller [Mon, 2 Jan 2012 00:59:39 +0000 (00:59 +0000)]
tag: add function to check whether a string is a valid language code

API: gst_tag_check_language_code()

12 years agoaudio, rtsp: remove private/protected gtk-doc markup for enums
Tim-Philipp Müller [Tue, 20 Dec 2011 21:48:29 +0000 (21:48 +0000)]
audio, rtsp: remove private/protected gtk-doc markup for enums

This confuses glib-mkenums, and is not really useful anyway.

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

12 years agooggmux: fix leak when initializing pads
Thiago Santos [Tue, 27 Dec 2011 17:37:26 +0000 (14:37 -0300)]
oggmux: fix leak when initializing pads

Pads are initialized twice: when requesting pads and when
initializing collectpads. Avoid double initialization by
checking if collectpads are still going to be initialized when
creating request pads.

12 years agotheoraenc: fix template caps creation on big endian systems
Tim-Philipp Müller [Fri, 23 Dec 2011 22:51:59 +0000 (22:51 +0000)]
theoraenc: fix template caps creation on big endian systems

12 years agotag: fix writing of Exif tag payloads <= 4 bytes
Tim-Philipp Müller [Fri, 23 Dec 2011 22:24:44 +0000 (22:24 +0000)]
tag: fix writing of Exif tag payloads <= 4 bytes

When the payload for an Exif tag is less than or equal to 4 bytes,
the data is simply put into the offset field. Fix writing these
kinds of payloads on big endian systems (and possibly also on
little endian systems). The caller will have already formatted
the bytes in memory according to the writer's endianness, so just
write out the bytes as they are in this case. Fixes tags unit test
on big endian systems.

12 years agoaudioencoder: add a few more debug statements
Mark Nauwelaerts [Thu, 22 Dec 2011 15:54:18 +0000 (16:54 +0100)]
audioencoder: add a few more debug statements

12 years agoaudiodecoder: tweak documentation
Mark Nauwelaerts [Thu, 22 Dec 2011 15:53:49 +0000 (16:53 +0100)]
audiodecoder: tweak documentation

12 years agotag: xmp: Keep compatibility with our old generated xmp
Thiago Santos [Thu, 22 Dec 2011 10:53:39 +0000 (07:53 -0300)]
tag: xmp: Keep compatibility with our old generated xmp

We used to add a trailing \n to the end of generated xmp packets.
Windows viewer was unhappy with it and we fixed it in
96d2120c2bb0b29e1849098198f5fbef81939cdd

The problem is that this caused xmp generated before this fix
to not be recognized and parsed anymore. This patch makes it
recognize xmp with the trailing \n and without, fixing the
regression. Also adds tests for it.

12 years agogstvideo: fix a RGB ordering mixup in colorspace conversion code
Vincent Penquerc'h [Wed, 14 Dec 2011 16:34:39 +0000 (16:34 +0000)]
gstvideo: fix a RGB ordering mixup in colorspace conversion code

12 years agotheoraenc: add "dup-on-gap" option
Oleksij Rempel (Alexey Fisher) [Mon, 19 Dec 2011 16:41:23 +0000 (17:41 +0100)]
theoraenc: add "dup-on-gap" option

This option will produce duplicate frames if we get
a frame with GAP flag. This will reduce CPU load and file size.

This option should be disabled for real time applications, because it
collects GAP frames and waits until it gets a non GAP frame to start
encoding.

v30.06.2011: make some spell changes.
v03.07.2011: add handling of EOS and discontinuous for dup-on-gap.
v19.12.2011: fix pointer dangling in theora_timefifo_free
v20.12.2010: fix timestamp bug for dup-on-gap=0

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

Signed-off-by: Oleksij Rempel (Alexey Fisher) <bug-track@fisher-privat.net>
12 years agoaudiodecoder: set a non-zero default maximum tolerated errors
Mark Nauwelaerts [Tue, 20 Dec 2011 11:42:18 +0000 (12:42 +0100)]
audiodecoder: set a non-zero default maximum tolerated errors

Whereas the previous default 0 was backwards compatible in that it lead
to erroring out immediately upon any error, elements that are really
ported and using the base class error macro can be assumed to intend to
improve behaviour rather than maintaining the old one.  So, make it easy
on those and any future one and tolerate some errors by default, as intended.

Fixes #666579.

12 years agoadder: do not send too many flush-stop events
Vincent Penquerc'h [Fri, 16 Dec 2011 17:32:41 +0000 (17:32 +0000)]
adder: do not send too many flush-stop events

GstCollectPads2 now allows us to override the event function,
so we can withhold flush stop events if none are to be sent.

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

12 years agoadder: use the stream lock where appropriate
Vincent Penquerc'h [Fri, 16 Dec 2011 17:31:06 +0000 (17:31 +0000)]
adder: use the stream lock where appropriate

GstCollectPads2 locking was changed from GstCollectPads to use
the stream lock instead of the object lock for those cases, so
change it so here as well to match.

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

12 years agoadder: send a flush event before trying to get the stream lock
Vincent Penquerc'h [Fri, 16 Dec 2011 17:25:10 +0000 (17:25 +0000)]
adder: send a flush event before trying to get the stream lock

This avoids hanging when the streaming thread is busy in _chain
waiting for preroll.

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

12 years agooggdemux: assume live stream if byte size cannot be determined
Vincent Penquerc'h [Fri, 16 Dec 2011 15:27:24 +0000 (15:27 +0000)]
oggdemux: assume live stream if byte size cannot be determined

This prevents trying to seek and failing, then ending up unable
to stream because we can't get back at the headers.
A more robust way would be to find a good place to reinject the
headers when a seek fails, but I can't seem to get this to work.

12 years agotag: exif: do not include \0 in size passed to g_convert
Thiago Santos [Thu, 15 Dec 2011 14:01:01 +0000 (11:01 -0300)]
tag: exif: do not include \0 in size passed to g_convert

When using g_convert, we should only pass the length
of the string content (without the \0) as g_convert will
only parse the real contents when changing formats. Including
the \0 causes it to add another \0, increasing the string
size when not needed.

For example, when writting a North geo location ref entry, that should
be a string with a single N letter, it would write:
"N\0\0", causing the string to have size 3, instead of 2 as expected.

In our case, we can pass -1 and let g_convert calculate the strlen as
we don't use the length anywhere else.

This fixes jifmux's tests on gst-plugins-bad.

12 years agoadder: port to GstCollectPads2
Vincent Penquerc'h [Wed, 14 Dec 2011 18:26:07 +0000 (18:26 +0000)]
adder: port to GstCollectPads2

12 years agodecodebin2: tweak chain topology description
Mark Nauwelaerts [Mon, 3 Oct 2011 12:51:56 +0000 (14:51 +0200)]
decodebin2: tweak chain topology description

... to also properly indicate chain's endpad if no elements are in the
chain (due to the endpad being a raw demuxer pad, or one setup without
decoders since uridecodebin or higher up decided not to need those).

12 years agobaseaudiosink: fix late buffer leak
Vincent Penquerc'h [Tue, 13 Dec 2011 12:55:45 +0000 (12:55 +0000)]
baseaudiosink: fix late buffer leak

12 years agosubtitleoverlay: Refactor code to check if a property exists on an element
Sebastian Dröge [Tue, 13 Dec 2011 12:28:47 +0000 (13:28 +0100)]
subtitleoverlay: Refactor code to check if a property exists on an element