platform/upstream/gst-plugins-base.git
12 years agoupdate for allocation query changes
Wim Taymans [Fri, 6 Jul 2012 09:01:56 +0000 (11:01 +0200)]
update for allocation query changes

12 years agoRevert "videooverlaycomposition: ensure proper buffer copy"
Mark Nauwelaerts [Thu, 5 Jul 2012 14:29:42 +0000 (16:29 +0200)]
Revert "videooverlaycomposition: ensure proper buffer copy"

This reverts commit 1d413ace640c679ba7fbecec07f2bea3d98360b2.

Plain gst_buffer_copy() is now doing the expected ...

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

12 years agouridecodebin: Fix double-unref when iterating over element pads
Sebastian Dröge [Thu, 5 Jul 2012 13:34:44 +0000 (15:34 +0200)]
uridecodebin: Fix double-unref when iterating over element pads

12 years agovideo: Document buffer ownership of the GstVideoCodecFrame more explicit
Sebastian Dröge [Thu, 5 Jul 2012 12:29:42 +0000 (14:29 +0200)]
video: Document buffer ownership of the GstVideoCodecFrame more explicit

And also the implications of calling the finish() functions.

12 years agovideodecoder: Make sure the buffer is writable before changing fields in finish_frame...
Sebastian Dröge [Thu, 5 Jul 2012 11:38:48 +0000 (13:38 +0200)]
videodecoder: Make sure the buffer is writable before changing fields in finish_frame() too

We can't be sure that we have the one and only reference here either.

12 years agovideodecoder: Create a complete subbuffer before pushing
Sebastian Dröge [Thu, 5 Jul 2012 11:37:37 +0000 (13:37 +0200)]
videodecoder: Create a complete subbuffer before pushing

Otherwise we can't be sure that we are allowed to change the
buffer fields later for clipping.

12 years agogst: Implement segment-done event
Sebastian Dröge [Thu, 5 Jul 2012 11:06:04 +0000 (13:06 +0200)]
gst: Implement segment-done event

12 years agoaudiocdsrc: Remove the TOC query handling
Sebastian Dröge [Thu, 5 Jul 2012 10:35:35 +0000 (12:35 +0200)]
audiocdsrc: Remove the TOC query handling

12 years agodiscoverer: Update for GstToc API changes
Sebastian Dröge [Thu, 5 Jul 2012 09:03:52 +0000 (11:03 +0200)]
discoverer: Update for GstToc API changes

12 years agoaudiocdsrc: Update for TOC API changes
Sebastian Dröge [Tue, 3 Jul 2012 16:47:25 +0000 (18:47 +0200)]
audiocdsrc: Update for TOC API changes

12 years agoupdate for miniobject changes
Wim Taymans [Wed, 4 Jul 2012 15:06:28 +0000 (17:06 +0200)]
update for miniobject changes

12 years agovideodec: add some assert
Wim Taymans [Wed, 4 Jul 2012 07:14:51 +0000 (09:14 +0200)]
videodec: add some assert

12 years agovideodec: clear the right variable
Wim Taymans [Wed, 4 Jul 2012 07:14:27 +0000 (09:14 +0200)]
videodec: clear the right variable

12 years agoplaysink: make extra sure to pass 64-bit integer to g_object_set when setting ts...
Tim-Philipp Müller [Tue, 3 Jul 2012 19:07:44 +0000 (20:07 +0100)]
playsink: make extra sure to pass 64-bit integer to g_object_set when setting ts-offset

Might just be paranoia, but better safe than sorry. Make sure
the compiler really always passes a 64-bit integer to the
g_object_set() vararg function.

12 years agoaudiocdsrc: Only push TOC event, the TOC message is handled by the sinks
Sebastian Dröge [Tue, 3 Jul 2012 15:31:54 +0000 (17:31 +0200)]
audiocdsrc: Only push TOC event, the TOC message is handled by the sinks

12 years agodocs: update raw audio media type design docs a bit
Tim-Philipp Müller [Tue, 3 Jul 2012 13:59:40 +0000 (14:59 +0100)]
docs: update raw audio media type design docs a bit

We now have a layout field and a channel-mask field.

12 years agopango: query downstream for video overlay composition meta support
Mark Nauwelaerts [Tue, 3 Jul 2012 12:32:02 +0000 (14:32 +0200)]
pango: query downstream for video overlay composition meta support

12 years agopango: adjust to modified overlay composition API
Mark Nauwelaerts [Tue, 3 Jul 2012 12:30:39 +0000 (14:30 +0200)]
pango: adjust to modified overlay composition API

12 years agovideooverlaycomposition: make API meta oriented
Mark Nauwelaerts [Tue, 3 Jul 2012 10:59:59 +0000 (12:59 +0200)]
videooverlaycomposition: make API meta oriented

... and as such more consistent with other buffer meta components.

12 years agovideooverlaycomposition: remove some post-port obsolete parts
Mark Nauwelaerts [Tue, 3 Jul 2012 10:58:38 +0000 (12:58 +0200)]
videooverlaycomposition: remove some post-port obsolete parts

12 years agopango: only map video buffer memory if actually needed
Tim-Philipp Müller [Mon, 2 Jul 2012 17:54:55 +0000 (18:54 +0100)]
pango: only map video buffer memory if actually needed

No need to map the video buffer if we're just going to attach
the meta; but if we map, we should do so in READWRITE mode.

12 years agopango: pass pre-multiplied alpha to overlay composition directly
Tim-Philipp Müller [Mon, 2 Jul 2012 17:49:38 +0000 (18:49 +0100)]
pango: pass pre-multiplied alpha to overlay composition directly

We now support pre-multiplied alpha in the overlay composition API,
and can avoid multiple conversions if the the overlay also supports
pre-multiplied alpha. We should probably also have mapped the
buffer as READWRITE when unpremultiplying.

12 years agovideooverlaycomposition: ensure proper buffer copy
Mark Nauwelaerts [Mon, 2 Jul 2012 12:26:50 +0000 (14:26 +0200)]
videooverlaycomposition: ensure proper buffer copy

This is only temporary and could and should be modified to use
regular buffer copy once https://bugzilla.gnome.org/show_bug.cgi?id=679145
is resolved.

12 years agotests: video: port video overlay composition test to 0.11
Mark Nauwelaerts [Fri, 29 Jun 2012 16:55:15 +0000 (18:55 +0200)]
tests: video: port video overlay composition test to 0.11

12 years agotests: video: ensure initialization and plug sample leak
Mark Nauwelaerts [Mon, 2 Jul 2012 12:22:30 +0000 (14:22 +0200)]
tests: video: ensure initialization and plug sample leak

12 years agotests: video: tweak RGB caps test
Mark Nauwelaerts [Mon, 2 Jul 2012 09:46:23 +0000 (11:46 +0200)]
tests: video: tweak RGB caps test

12 years agotests: add test for switching video effects at run time
Tim-Philipp Müller [Sat, 30 Jun 2012 15:50:10 +0000 (16:50 +0100)]
tests: add test for switching video effects at run time

Bases on test app in bug #614296. Doesn't work reliably yet,
leads to not-negotiated errors sooner or later, even when
it's the same element being re-plugged.

12 years agovideooverlaycomposition: fix some refcounting and avoid possible NULL use
Mark Nauwelaerts [Fri, 29 Jun 2012 16:54:51 +0000 (18:54 +0200)]
videooverlaycomposition: fix some refcounting and avoid possible NULL use

12 years agoexamples: update for new force-aspect-ratio default
Tim-Philipp Müller [Fri, 29 Jun 2012 10:46:23 +0000 (11:46 +0100)]
examples: update for new force-aspect-ratio default

12 years agoximagesink, xvimagesink: default to force-aspect-ratio=true
Tim-Philipp Müller [Fri, 29 Jun 2012 10:43:46 +0000 (11:43 +0100)]
ximagesink, xvimagesink: default to force-aspect-ratio=true

12 years agoaudiocdsrc: send TOC event downstream if we're in continuous mode
Tim-Philipp Müller [Thu, 28 Jun 2012 22:41:16 +0000 (23:41 +0100)]
audiocdsrc: send TOC event downstream if we're in continuous mode

If we're in continuous mode where we'll play the entire CD from
start to finish, send a TOC event downstream so any downstream
muxers can write a TOC to indicate where the various tracks
start and end.

12 years agopango: remove support for video/x-surface again which is 0.10 stuff
Tim-Philipp Müller [Thu, 28 Jun 2012 22:15:34 +0000 (23:15 +0100)]
pango: remove support for video/x-surface again which is 0.10 stuff

This needs to be done and can be done differently/properly in 0.11.

12 years agotheoraenc: clean up some property descriptions
Tim-Philipp Müller [Thu, 28 Jun 2012 21:59:14 +0000 (22:59 +0100)]
theoraenc: clean up some property descriptions

We now require a sufficiently-recent libtheora.

12 years agopango: use ported GstVideoOverlayComposition functionality
Mark Nauwelaerts [Thu, 28 Jun 2012 16:14:10 +0000 (18:14 +0200)]
pango: use ported GstVideoOverlayComposition functionality

Based on commits by Thibault Saunier <thibault.saunier@collabora.co.uk>

12 years agovideooverlaycomposition: port to 0.11
Mark Nauwelaerts [Thu, 28 Jun 2012 16:16:20 +0000 (18:16 +0200)]
videooverlaycomposition: port to 0.11

... which also entails porting video-blend

Fixes #678384.

12 years agotests: update unit test for vorbistag change to GST_TAG_DATE_TIME
Tim-Philipp Müller [Wed, 27 Jun 2012 22:50:07 +0000 (23:50 +0100)]
tests: update unit test for vorbistag change to GST_TAG_DATE_TIME

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

12 years agovorbistag: store DATE tag in GST_TAG_DATE_TIME instead of GST_TAG_DATE
Oleksij Rempel [Wed, 27 Jun 2012 14:25:06 +0000 (16:25 +0200)]
vorbistag: store DATE tag in GST_TAG_DATE_TIME instead of GST_TAG_DATE

The DATE field may contain dates, partial dates, or dates with
time. Store the result in GST_TAG_DATE_TIME, so we can express
properly which fields are present or not, and can store the
time if there is one, and can serialise and deserialise the
tag without loss of information and without making up
information that's not there.

Instead of using short YYYY-MM-DD form we will store
long YYYY-MM-DDTHH:MM:SS+TS date and time.

According to this documentation we can do it:
http://wiki.xiph.org/VorbisComment#Date_and_time

This datetime format is needed by apps where more information
is needed. For example voice, meeting recording, etc.

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

12 years agovideotestsrc: set DTS and PTS, sync on DTS
Wim Taymans [Wed, 27 Jun 2012 15:18:35 +0000 (17:18 +0200)]
videotestsrc: set DTS and PTS, sync on DTS

12 years agovideoencoder: make PTS and DTS handling more explicit
Wim Taymans [Wed, 27 Jun 2012 14:45:41 +0000 (16:45 +0200)]
videoencoder: make PTS and DTS handling more explicit

12 years agovideodecoder: avoid crash when getting duration
Wim Taymans [Wed, 27 Jun 2012 14:38:38 +0000 (16:38 +0200)]
videodecoder: avoid crash when getting duration

Check that we have a valid output_state before attempting to use it to calculate
the duration of a buffer. It is possible that we don't have a state yet, for
example when we are dropping the first buffers.

12 years agovideodecoder: Use GSlice to allocate the timestamp tracking structures
Sebastian Dröge [Wed, 27 Jun 2012 14:42:10 +0000 (16:42 +0200)]
videodecoder: Use GSlice to allocate the timestamp tracking structures

12 years agovideodecoder: small cleanups
Wim Taymans [Wed, 27 Jun 2012 12:13:02 +0000 (14:13 +0200)]
videodecoder: small cleanups

12 years agovideodecoder: improve PTS and DTS handling
Wim Taymans [Wed, 27 Jun 2012 11:48:58 +0000 (13:48 +0200)]
videodecoder: improve PTS and DTS handling

Also keep track of the DTS and use it to set PTS on keyframes.
Set DTS on outgoing buffers.

12 years agoaudiocdsrc: post TOC message on the bus on start-up
Tim-Philipp Müller [Tue, 26 Jun 2012 18:50:49 +0000 (19:50 +0100)]
audiocdsrc: post TOC message on the bus on start-up

First attempt at implement the various GstToc API
bits in GstAudioCdSrc.

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

12 years agofix interlace-mode
Wim Taymans [Tue, 26 Jun 2012 15:09:25 +0000 (17:09 +0200)]
fix interlace-mode

12 years agovideodecoder: Don't leak a ref to frames in reverse playback
Jan Schmidt [Mon, 25 Jun 2012 15:33:10 +0000 (01:33 +1000)]
videodecoder: Don't leak a ref to frames in reverse playback

12 years agovideo-frame: handle map errors
Wim Taymans [Tue, 26 Jun 2012 09:10:28 +0000 (11:10 +0200)]
video-frame: handle map errors

Error out when something failed

12 years agovideometa: improve debug error reporting
Wim Taymans [Tue, 26 Jun 2012 09:09:50 +0000 (11:09 +0200)]
videometa: improve debug error reporting

12 years agoplaysink: The default signal handler should be the one that triggers pad blocks and...
Sebastian Dröge [Tue, 26 Jun 2012 09:04:23 +0000 (11:04 +0200)]
playsink: The default signal handler should be the one that triggers pad blocks and reconfiguration

Conflicts:

gst/playback/gstplaysink.c

12 years agoplaysink: Make sure to always block all pads before reconfiguring the pipeline
Sebastian Dröge [Tue, 26 Jun 2012 08:54:18 +0000 (10:54 +0200)]
playsink: Make sure to always block all pads before reconfiguring the pipeline

Fixes bug #678762.

Conflicts:

gst/playback/gstplaysink.c

12 years agoplaysink: Prevent NULL pointer dereference in last change
Sebastian Dröge [Mon, 25 Jun 2012 14:07:31 +0000 (16:07 +0200)]
playsink: Prevent NULL pointer dereference in last change

12 years agoplaysink: Unlink pads when switching between enabling/disabling the deinterlace chain
Sebastian Dröge [Mon, 25 Jun 2012 14:01:06 +0000 (16:01 +0200)]
playsink: Unlink pads when switching between enabling/disabling the deinterlace chain

See bug #678762.

12 years agoplaysink: Connect to the value-changed signal of the child colorbalance element and...
Sebastian Dröge [Mon, 25 Jun 2012 13:21:07 +0000 (15:21 +0200)]
playsink: Connect to the value-changed signal of the child colorbalance element and proxy it

12 years agoplaysink: Only remove the xoverlay/colorbalance elements when necessary
Sebastian Dröge [Mon, 25 Jun 2012 13:14:21 +0000 (15:14 +0200)]
playsink: Only remove the xoverlay/colorbalance elements when necessary

They are not added again by every code path, e.g. when switching
only the deinterlace flag and are missing then.

Fixes bug #678763.

Conflicts:

gst/playback/gstplaysink.c

12 years agovideoutils: Use g_list_free_full instead of g_list_foreach and g_list_free
Sreerenj Balachandran [Fri, 22 Jun 2012 08:51:04 +0000 (11:51 +0300)]
videoutils: Use g_list_free_full instead of g_list_foreach and g_list_free

12 years agopbutils: update discoverer for GstToc API changes
Tim-Philipp Müller [Sun, 24 Jun 2012 21:47:05 +0000 (22:47 +0100)]
pbutils: update discoverer for GstToc API changes

12 years agoaudio: make sure g-i doesn't parse orc-generated gstaudiopack.h file
Tim-Philipp Müller [Sat, 23 Jun 2012 23:28:40 +0000 (00:28 +0100)]
audio: make sure g-i doesn't parse orc-generated gstaudiopack.h file

12 years agotags: use gst_tag_register_static()
Tim-Philipp Müller [Sat, 23 Jun 2012 14:44:16 +0000 (15:44 +0100)]
tags: use gst_tag_register_static()

12 years agosmartencoder: use gst_quark_from_static_string()
Tim-Philipp Müller [Sat, 23 Jun 2012 13:55:51 +0000 (14:55 +0100)]
smartencoder: use gst_quark_from_static_string()

12 years agouridecodebin, tests: update for gst_element_make_from_uri() changes
Tim-Philipp Müller [Sat, 23 Jun 2012 13:55:31 +0000 (14:55 +0100)]
uridecodebin, tests: update for gst_element_make_from_uri() changes

12 years agoappsrc: Actually store any URI that is set and return this when asked for the URI
Sebastian Dröge [Thu, 21 Jun 2012 10:12:11 +0000 (11:12 +0100)]
appsrc: Actually store any URI that is set and return this when asked for the URI

12 years agoupdate for bus api changes
Wim Taymans [Wed, 20 Jun 2012 10:30:36 +0000 (12:30 +0200)]
update for bus api changes

12 years agofix compiler warning
Andreas Frisch [Wed, 20 Jun 2012 08:52:34 +0000 (10:52 +0200)]
fix compiler warning

12 years agoplaysinkconvertbin: Fix conversion bin when sink has both raw and non-raw caps
Arnaud Vrac [Wed, 20 Jun 2012 10:11:47 +0000 (11:11 +0100)]
playsinkconvertbin: Fix conversion bin when sink has both raw and non-raw caps

Fixes bug #678403.

12 years agoupdate for task api change
Wim Taymans [Wed, 20 Jun 2012 08:33:24 +0000 (10:33 +0200)]
update for task api change

12 years agovideodecoder: Don't give out bogus frame deadlines
Jan Schmidt [Tue, 19 Jun 2012 17:45:14 +0000 (03:45 +1000)]
videodecoder: Don't give out bogus frame deadlines

Make sure the frame deadline was set before calculating the
max_decode_time. Fixes problems with ffmpeg skipping frames when
it doesn't need to, when the input doesn't have full timestamping
(divx in avi)

12 years agovideodecoder: Remove gst_video_decoder_get_timestamp function
Jan Schmidt [Tue, 19 Jun 2012 17:40:29 +0000 (03:40 +1000)]
videodecoder: Remove gst_video_decoder_get_timestamp function

Interpolating the timestamps from the picture numbers
does more harm than good, getting it wrong in a lot of
cases (especially reverse playback). Removing it in favour
of simply incrementing the timestamps until there's
something better

12 years agovideodecoder: EOS handling for reverse mode.
Jan Schmidt [Tue, 19 Jun 2012 14:46:05 +0000 (00:46 +1000)]
videodecoder: EOS handling for reverse mode.

Handle EOS correctly in reverse mode by treating it
as a final discont and flushing out whatever we can.

12 years agovideodecoder: misc improvements/changes
Jan Schmidt [Tue, 19 Jun 2012 14:42:42 +0000 (00:42 +1000)]
videodecoder: misc improvements/changes

Use g_list_free_full instead of walking lists twice when freeing
them.

Remove pointless clause in gst_video_decoder_chain that doesn't
actually have any effect.

Other changes to make the code slightly more like the 0.11
version.

12 years agovideodecoder: Improve timestamp handling.
Jan Schmidt [Tue, 19 Jun 2012 14:36:38 +0000 (00:36 +1000)]
videodecoder: Improve timestamp handling.

Fix problems with timestamp calculations when the incoming
buffers have sparse timestamps (as for theora) and reverse
playback. Fixes #675773

12 years agovideodecoder: Re-work reverse playback handling
Jan Schmidt [Tue, 19 Jun 2012 14:22:25 +0000 (00:22 +1000)]
videodecoder: Re-work reverse playback handling

Move processing of the gather list into the flush_parse function.

Add a last ditch attempt to apply timestamps to outgoing buffers
when walking backwards through decoded frames. Requires that each
gathered region has at least one timestamp.

Make sure to remove decoded packets from the decode list when
they are sent - otherwise the list just grows on each cycle, with
more and more frames being decoded and then clipped away.

Break out of the processing loop early on a bad flow return to make
seeking more responsive.

Use the gst_video_decoder_clip_and_push_buf function in reverse
mode, instead of pushing all buffers arbitrarily.

A couple of small efficiency gains in the list handling, by moving
list elements directly and not reallocating, and by reversing
and concatenating the gather list instead of moving it one node
at a time.

Rename the gst_video_decoder_do_finish_frame function to
gst_video_decoder_release_frame.

12 years agovideodecoder: Split gst_video_decoder_finish_frame
Jan Schmidt [Tue, 19 Jun 2012 14:08:57 +0000 (00:08 +1000)]
videodecoder: Split gst_video_decoder_finish_frame

Split the 2nd half of the gst_video_decoder_finish_frame function
out to gst_video_decoder_clip_and_push_buf.

12 years agovideodecoder: Rename queued list to output_queued for clarity.
Jan Schmidt [Tue, 19 Jun 2012 13:46:44 +0000 (23:46 +1000)]
videodecoder: Rename queued list to output_queued for clarity.

Use g_list_free_full instead of g_list_foreach + g_list_free

12 years agovideodecoder: Small cleanups
Jan Schmidt [Tue, 19 Jun 2012 13:43:27 +0000 (23:43 +1000)]
videodecoder: Small cleanups

Remove extra deref using a local var, and add/change some doc comments
and debug statements

12 years agovideodecoder: Rename gst_video_decoder_have_frame_2 function
Jan Schmidt [Tue, 19 Jun 2012 13:28:08 +0000 (23:28 +1000)]
videodecoder: Rename gst_video_decoder_have_frame_2 function

Rename gst_video_decoder_have_frame_2 to
gst_video_decoder_decode_frame and pass the frame to process
directly, rather than using the current_frame pointer as a holding
pen.

Move the negative rate handling out of the function to where it
is needed, and remove the process flag.

12 years agovideodecoder: Extend docs and add comments
Jan Schmidt [Tue, 19 Jun 2012 13:16:12 +0000 (23:16 +1000)]
videodecoder: Extend docs and add comments

Update the documentation block for the base class, and add a comment
block about the reverse-playback logic and implementation.

12 years agovideofilter: Don't duplicate code to create a new buffer pool if none is in the query
Sebastian Dröge [Tue, 19 Jun 2012 12:57:00 +0000 (13:57 +0100)]
videofilter: Don't duplicate code to create a new buffer pool if none is in the query

12 years agovideoencoder: Ensure buffers don't disappear early
Sebastian Dröge [Tue, 19 Jun 2012 08:34:49 +0000 (09:34 +0100)]
videoencoder: Ensure buffers don't disappear early

The frames are the owners of the buffers

12 years agovideodecoder: Ensure buffers don't disappear early
Edward Hervey [Thu, 26 Apr 2012 16:43:16 +0000 (18:43 +0200)]
videodecoder: Ensure buffers don't disappear early

The frames are the owners of the buffers. In cases where a decoder
would keep around reference frames, we need to ensure they don't
disappear early.
To handle this, we pass downstream a complete sub-buffer of the output
buffer, ensuring that the buffer will only be released when downstream
is done with it *AND* the frame is no longer used.

Conflicts:

gst-libs/gst/video/gstvideodecoder.c

12 years agovideoencoder,videodecoder: Return new references from _get_frame()
Sebastian Dröge [Tue, 19 Jun 2012 08:25:00 +0000 (09:25 +0100)]
videoencoder,videodecoder: Return new references from _get_frame()

12 years agosys: fix some bufferpool leaks
Wim Taymans [Mon, 18 Jun 2012 10:17:12 +0000 (12:17 +0200)]
sys: fix some bufferpool leaks

12 years agoaudiobasesink: fix for basesink API change
Wim Taymans [Mon, 18 Jun 2012 09:38:02 +0000 (11:38 +0200)]
audiobasesink: fix for basesink API change

12 years agotheoradec: Remove use of NEED_DATA
Jan Schmidt [Thu, 14 Jun 2012 13:24:06 +0000 (23:24 +1000)]
theoradec: Remove use of NEED_DATA

Remove the confusing internal-only use of
the GST_VIDEO_DECODER_FLOW_NEED_DATA return code.

12 years agox11: handle case where no bufferpool is suggested
Wim Taymans [Fri, 15 Jun 2012 14:43:47 +0000 (16:43 +0200)]
x11: handle case where no bufferpool is suggested

12 years agovideodecoder: Add GstVideoDecoder::propose_allocation() vfunc
Sebastian Dröge [Fri, 15 Jun 2012 14:06:12 +0000 (16:06 +0200)]
videodecoder: Add GstVideoDecoder::propose_allocation() vfunc

12 years agoexamples: make play button in playback test have focus after startup
Tim-Philipp Müller [Thu, 14 Jun 2012 22:08:54 +0000 (23:08 +0100)]
examples: make play button in playback test have focus after startup

So you can just press Enter to start playback.

12 years agooggdemux: fix quadratic search for last page
Vincent Penquerc'h [Thu, 14 Jun 2012 17:31:51 +0000 (18:31 +0100)]
oggdemux: fix quadratic search for last page

A crafted file with invalid pages will cause repeated searches from
earlier offsets in steps of 8500 bytes, but reading till the end of
the stream. Since we know the maximum size of an Ogg page, we can
bound the search for next page, to get a linear behavior (though
still not good enough as it will read the entire file backwards if
there's no valid page till then).

12 years agoplaybin2: Proxy the force-aspect-ratio property of video sinks
Sebastian Dröge [Thu, 14 Jun 2012 07:32:35 +0000 (09:32 +0200)]
playbin2: Proxy the force-aspect-ratio property of video sinks

Fixes bug #678020.

Conflicts:

gst/playback/gstplaybin2.c

12 years agoplaysink: Proxy the force-aspect-ratio property of video sinks
Sebastian Dröge [Thu, 14 Jun 2012 07:29:23 +0000 (09:29 +0200)]
playsink: Proxy the force-aspect-ratio property of video sinks

12 years agoupdate for message api change
Wim Taymans [Wed, 13 Jun 2012 09:04:21 +0000 (11:04 +0200)]
update for message api change

12 years agotheoradec: Always inform base class when dropping frames
Jan Schmidt [Tue, 12 Jun 2012 17:17:27 +0000 (03:17 +1000)]
theoradec: Always inform base class when dropping frames

Partially fixes backwards playback. Informing the base class
of the dropped frame lets it manage the timestamping and events
better.

12 years agovideodecoder: Fix initial timestamp in ogg, and a warning.
Jan Schmidt [Tue, 12 Jun 2012 15:58:05 +0000 (01:58 +1000)]
videodecoder: Fix initial timestamp in ogg, and a warning.

Don't replace the initial frame's timestamp with a bogus
one calculated from the (incorrect for Ogg) frame number just
because the 'sync time' hasn't changed.

Also, don't output a bogus warning about the output_frame being
NULL when it's being dropped/skipped due to QoS.

12 years agoaudio decoder: Add some debug output for bad caps from children
Jan Schmidt [Tue, 12 Jun 2012 13:51:51 +0000 (23:51 +1000)]
audio decoder: Add some debug output for bad caps from children

12 years agoplayback: Always prefer parsers over decoders
Sebastian Dröge [Tue, 12 Jun 2012 09:58:29 +0000 (11:58 +0200)]
playback: Always prefer parsers over decoders

...and in playbin2 additionally prefer sinks over parsers.

This makes sure that we a) always directly plug a sink if it supports
the (compressed) format and b) always plug parsers in front of decoders.

12 years agoplayback-test: expose seek snap flags
Vincent Penquerc'h [Wed, 23 May 2012 14:07:20 +0000 (15:07 +0100)]
playback-test: expose seek snap flags

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

12 years agoaudiodecoder: push queued events only when we have a first buffer
Vincent Penquerc'h [Fri, 8 Jun 2012 11:43:41 +0000 (12:43 +0100)]
audiodecoder: push queued events only when we have a first buffer

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

12 years agotypefind: probe for DVD ISO files, to avoid matching H.264
Vincent Penquerc'h [Mon, 11 Jun 2012 10:09:24 +0000 (11:09 +0100)]
typefind: probe for DVD ISO files, to avoid matching H.264

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

12 years agoplaybin2: remove uridecodebin from bin when it fails to switch to PAUSED
Vincent Penquerc'h [Fri, 8 Jun 2012 16:28:28 +0000 (17:28 +0100)]
playbin2: remove uridecodebin from bin when it fails to switch to PAUSED

This avoids that bin being leftover and being found when reusing playbin2,
and fixes restarting on a new URI after failing to activate with a previous
URI.

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

12 years agoAdd generated orc files
Wim Taymans [Fri, 8 Jun 2012 15:55:15 +0000 (17:55 +0200)]
Add generated orc files

12 years agoAlso build the orc generated code
Wim Taymans [Fri, 8 Jun 2012 15:52:31 +0000 (17:52 +0200)]
Also build the orc generated code