platform/upstream/gstreamer.git
13 years agovideomixer2: Fix a leak
Arun Raghavan [Fri, 14 Oct 2011 05:26:16 +0000 (10:56 +0530)]
videomixer2: Fix a leak

Buffers weren't being unref'ed in one case inside, causing memory usage
to blow up.

13 years agoset colour masks for video/x-raw-rgb in rtpvrawdepay
Marc Leeman [Fri, 14 Oct 2011 07:10:01 +0000 (09:10 +0200)]
set colour masks for video/x-raw-rgb in rtpvrawdepay

13 years agovideomixer2: Fix incorrect gst_buffer_replace() call
Arun Raghavan [Thu, 13 Oct 2011 11:29:50 +0000 (16:59 +0530)]
videomixer2: Fix incorrect gst_buffer_replace() call

This got exposed when gst_buffer_replace() was changed from a macro to a
function.

13 years agortpvrawpay: Only use 24 LSB for depth=24 RGB caps
Edward Hervey [Wed, 12 Oct 2011 09:26:50 +0000 (11:26 +0200)]
rtpvrawpay: Only use 24 LSB for depth=24 RGB caps

... and indent the masks for clarity

13 years agomatroskamux: fix segment handling, so we actually use running time
René Stadler [Tue, 11 Oct 2011 12:58:43 +0000 (14:58 +0200)]
matroskamux: fix segment handling, so we actually use running time

gst_matroska_mux_best_pad adjusts the buffer timestamp to running time using
the segment stored in the pad's collect data. However, the event handler didn't
pass the newsegment event on to collectpads' handler, so this segment was never
updated at all.

Re-fixes bug #432612.

13 years agogstrtpg722pay: Compensate for clockrate vs. samplerate difference
Sjoerd Simons [Mon, 10 Oct 2011 18:01:23 +0000 (19:01 +0100)]
gstrtpg722pay: Compensate for clockrate vs. samplerate difference

The RTP clock-rate used for G722 is 8000, even though the samplerate is
16000. Compensate for this by pretending G722 has 8 bits per sample
instead of the 4 bits as if it were a codec that ran at half the speed,
but with twice the number of bits. Fixes #661376

13 years agojpegdec: Implement upstream negotiation
Sjoerd Simons [Tue, 27 Sep 2011 18:25:53 +0000 (19:25 +0100)]
jpegdec: Implement upstream negotiation

Add upstream negotiation for jpegdec. Fixes #660275

13 years agomatroska-demux: don't leak audio codec_data buffer
Tim-Philipp Müller [Mon, 10 Oct 2011 18:02:58 +0000 (19:02 +0100)]
matroska-demux: don't leak audio codec_data buffer

13 years agotests: add missing PLUGIN_ASE_LIBS to LDADD
Stefan Sauer [Mon, 10 Oct 2011 11:20:04 +0000 (13:20 +0200)]
tests: add missing PLUGIN_ASE_LIBS to LDADD

13 years agospeexenc: only push header buffers following initial events
Mark Nauwelaerts [Sun, 9 Oct 2011 19:31:27 +0000 (21:31 +0200)]
speexenc: only push header buffers following initial events

13 years agoqtmux: Fix memory leak on atoms recovery function
Thiago Santos [Sun, 9 Oct 2011 14:18:18 +0000 (11:18 -0300)]
qtmux: Fix memory leak on atoms recovery function

Remember to free the ftyp data after writing it to a file.

Fixes #660969

13 years agomatroskademux: improve segment handling with non-zero starting timestamp
Vincent Penquerc'h [Wed, 21 Sep 2011 17:45:42 +0000 (18:45 +0100)]
matroskademux: improve segment handling with non-zero starting timestamp

... as well as related items, such as seeking and position reporting.

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

13 years agov4l2, ximagesrc: fix some printf format compiler warnings
Stas Sergeev [Thu, 29 Sep 2011 14:41:53 +0000 (18:41 +0400)]
v4l2, ximagesrc: fix some printf format compiler warnings

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

13 years agotests: qtmux: Refactor bitrate check test
Thiago Santos [Fri, 30 Sep 2011 15:42:22 +0000 (12:42 -0300)]
tests: qtmux: Refactor bitrate check test

Refactor bitrate check test to accomodate multiple tests
for bitrate

13 years agoqtmux: update esds atom under wave atom for aac bitrates
Thiago Santos [Fri, 30 Sep 2011 16:02:31 +0000 (13:02 -0300)]
qtmux: update esds atom under wave atom for aac bitrates

AAC in mov format puts an ESDS atom inside of a WAVE atom in
STSD atom, we need to update the bitrate on this ESDS. This patch
fixes it.

13 years agoqtmux: Also update btrt atom
Thiago Santos [Fri, 30 Sep 2011 15:41:52 +0000 (12:41 -0300)]
qtmux: Also update btrt atom

When rewriting bitrates, also update the btrt atom under stsd

13 years agotests: qtmux: add tests for bitrate average calculation
Thiago Santos [Fri, 30 Sep 2011 13:55:53 +0000 (10:55 -0300)]
tests: qtmux: add tests for bitrate average calculation

Adds tests to make sure qtmux/mp4mux sets average bitrate
correctly

13 years agoqtmux: Calculate average bitrate for streams
Thiago Santos [Wed, 28 Sep 2011 14:41:49 +0000 (11:41 -0300)]
qtmux: Calculate average bitrate for streams

Calculate and use average bitrate for streams when no
bitrate tag was received

13 years agoqtmux: Avoid a buffer metadata copy if possible
Thiago Santos [Wed, 28 Sep 2011 13:41:14 +0000 (10:41 -0300)]
qtmux: Avoid a buffer metadata copy if possible

If first_ts is 0 there is no need to subtract, so we might
skip some copying to make the buffer metadata writable.

13 years agospeexenc: initialise variable before adding to it
Tim-Philipp Müller [Thu, 29 Sep 2011 22:21:46 +0000 (23:21 +0100)]
speexenc: initialise variable before adding to it

13 years agospeexdec: port to audiodecoder
Mark Nauwelaerts [Thu, 29 Sep 2011 15:21:22 +0000 (17:21 +0200)]
speexdec: port to audiodecoder

13 years agospeexenc: clean up some unused remnants
Mark Nauwelaerts [Thu, 29 Sep 2011 14:33:01 +0000 (16:33 +0200)]
speexenc: clean up some unused remnants

13 years agospeexenc: port to audioencoder
Mark Nauwelaerts [Thu, 29 Sep 2011 15:32:23 +0000 (17:32 +0200)]
speexenc: port to audioencoder

13 years agoflacenc: port to audioencoder
Mark Nauwelaerts [Wed, 28 Sep 2011 14:09:58 +0000 (16:09 +0200)]
flacenc: port to audioencoder

13 years agomatroskademux: ensure minimal alignment for audio/x-raw-* buffers
Vincent Penquerc'h [Tue, 27 Sep 2011 14:59:24 +0000 (15:59 +0100)]
matroskademux: ensure minimal alignment for audio/x-raw-* buffers

Since matroskademux will attempt to push unaligned buffers,
downstream might have trouble with those, especially if downstream
uses ORC, such as audioconvert.

Ensure we push buffers aligned to the basic type at least for
those raw buffers.

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

13 years agogoom2k1: Fix compiler warnings on 64 bit mingw-w64
Raimo Järvi [Tue, 27 Sep 2011 21:10:09 +0000 (00:10 +0300)]
goom2k1: Fix compiler warnings on 64 bit mingw-w64

Fixes bug #660294.

13 years agosoup: rename souphttpsink to souphttpclientsink
Tim-Philipp Müller [Sun, 25 Sep 2011 14:13:39 +0000 (15:13 +0100)]
soup: rename souphttpsink to souphttpclientsink

To avoid confusion, and because we might want a server
sink at some point too.

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

13 years agosouphttpsink: don't create unused second sink pad object
Tim-Philipp Müller [Fri, 23 Sep 2011 15:39:46 +0000 (16:39 +0100)]
souphttpsink: don't create unused second sink pad object

The base class will create the sink pad.

13 years agoac3parse: correctly check for ac3/e-ac3 switch
Julien Isorce [Fri, 23 Sep 2011 13:36:36 +0000 (15:36 +0200)]
ac3parse: correctly check for ac3/e-ac3 switch

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

13 years agortph264depay: improve downstream flow return feedback to upstream
Mark Nauwelaerts [Tue, 20 Sep 2011 11:38:53 +0000 (13:38 +0200)]
rtph264depay: improve downstream flow return feedback to upstream

... although basertpdepay does not really make it easy/possible to do so
all the way.

13 years agoximagesrc: add xid and xname properties to allow capturing a particular window
Vincent Penquerc'h [Tue, 20 Sep 2011 11:11:47 +0000 (12:11 +0100)]
ximagesrc: add xid and xname properties to allow capturing a particular window

A particular window may be selected using the new xid (X-Window
XID, eg a pointer) and xname (window title) properties. If both
are specified, the XID is used in preference, falling back to
xname if not found.

Default (if none of xid and xname are specified, or if no such
window is found) is to capture the root window.

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

13 years agotests: add unit test to make sure encodebin picks mp4mux for variant=iso
Tim-Philipp Müller [Tue, 2 Aug 2011 16:39:44 +0000 (17:39 +0100)]
tests: add unit test to make sure encodebin picks mp4mux for variant=iso

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

13 years agortpbin: Fix a leaked clock for each buffering message
Ha Nguyen [Mon, 19 Sep 2011 10:15:11 +0000 (12:15 +0200)]
rtpbin: Fix a leaked clock for each buffering message

Fixes bug #659237.

13 years agoqtdemux: parse embedded ID32 tags
Mark Nauwelaerts [Mon, 19 Sep 2011 10:11:32 +0000 (12:11 +0200)]
qtdemux: parse embedded ID32 tags

13 years agortpsession: avoid source premature timing out
Mark Nauwelaerts [Fri, 2 Sep 2011 11:41:41 +0000 (13:41 +0200)]
rtpsession: avoid source premature timing out

Use slightly adjusted sender interval to determine sender timeout rather than
our own sender side interval (which may have been forced small).

13 years agortpsession: avoid timing out source too quickly
Mark Nauwelaerts [Thu, 25 Aug 2011 10:40:52 +0000 (12:40 +0200)]
rtpsession: avoid timing out source too quickly

... following a PAUSE/PLAY cycle, particularly applicable when operating
with a short RTCP interval (possibly forced so server-side).

13 years agortpjitterbuffer/rtpbin: relax dropping rtcp packets
Mark Nauwelaerts [Wed, 24 Aug 2011 12:37:52 +0000 (14:37 +0200)]
rtpjitterbuffer/rtpbin: relax dropping rtcp packets

... to at least having it trigger a/v synchronization, possibly without
using provided values which are still not considered sane
(as previously dropped).

13 years agortpjitterbuffer: some more reset when clearing pt map
Mark Nauwelaerts [Wed, 24 Aug 2011 12:34:23 +0000 (14:34 +0200)]
rtpjitterbuffer: some more reset when clearing pt map

... which in particular caters for some more reset following a possible
rtsp PLAY.

13 years agortspsrc: do not set elements to PLAYING when doing seek in PAUSED
Mark Nauwelaerts [Sun, 21 Aug 2011 19:58:38 +0000 (21:58 +0200)]
rtspsrc: do not set elements to PLAYING when doing seek in PAUSED

13 years agortpjitterbuffer: only reset skew on gap if input ts available
Mark Nauwelaerts [Thu, 1 Sep 2011 12:47:48 +0000 (14:47 +0200)]
rtpjitterbuffer: only reset skew on gap if input ts available

13 years agortpjitterbuffer: check some more for possible rtp timestamp discontinuity
Mark Nauwelaerts [Thu, 18 Aug 2011 12:12:21 +0000 (14:12 +0200)]
rtpjitterbuffer: check some more for possible rtp timestamp discontinuity

... when operating in non slave mode, and reset if detected.
This should avoid some (large) bogus outgoing timestamp due to jumps
in rtp time, as result of PAUSE/PLAY or seek or ...

13 years agortspsrc: switch to rtp time based syncing when guessed appropriate
Mark Nauwelaerts [Mon, 8 Aug 2011 10:48:50 +0000 (12:48 +0200)]
rtspsrc: switch to rtp time based syncing when guessed appropriate

13 years agortpbin: alternative inter-stream syncing methods
Mark Nauwelaerts [Mon, 8 Aug 2011 10:15:20 +0000 (12:15 +0200)]
rtpbin: alternative inter-stream syncing methods

... at least if not syncing to NPT time:
* either sync using RTCP SR data (as currently)
* only perform the above once using initial RTCP SR packets
* discard RTCP and sync by equating provided stream's clock-base rtptime,
  as provided by jitterbuffer (typically obtained from RTP-Info in RTSP).

13 years agortpjitterbuffer: also provide clock-base to sync signal
Mark Nauwelaerts [Mon, 8 Aug 2011 10:11:24 +0000 (12:11 +0200)]
rtpjitterbuffer: also provide clock-base to sync signal

13 years agortpbin: allow configurable rtcp stream syncing interval
Mark Nauwelaerts [Mon, 8 Aug 2011 10:09:41 +0000 (12:09 +0200)]
rtpbin: allow configurable rtcp stream syncing interval

... rather than necessarily syncing at each RTCP SR.

13 years agortpsession: trigger reconsideration if rtcp interval set
Mark Nauwelaerts [Mon, 1 Aug 2011 06:35:01 +0000 (08:35 +0200)]
rtpsession: trigger reconsideration if rtcp interval set

13 years agortspsrc: configure rtcp interval if provided
Mark Nauwelaerts [Mon, 1 Aug 2011 06:32:24 +0000 (08:32 +0200)]
rtspsrc: configure rtcp interval if provided

... in PLAY response.

13 years agoisomp4: Fix allowing zero duration tracks
Lasse Laukkanen [Fri, 16 Sep 2011 13:53:22 +0000 (16:53 +0300)]
isomp4: Fix allowing zero duration tracks

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

13 years agoudpsrc: error out when no protocol is specified in the uri
Vincent Penquerc'h [Mon, 5 Sep 2011 09:11:18 +0000 (10:11 +0100)]
udpsrc: error out when no protocol is specified in the uri

It is certainly better than to crash.

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

13 years agospeexenc: do not use invalid buffer timestamps
Vincent Penquerc'h [Mon, 19 Sep 2011 07:37:58 +0000 (09:37 +0200)]
speexenc: do not use invalid buffer timestamps

13 years agopulse: New pulseaudiosink element to handle format changes
Arun Raghavan [Tue, 29 Mar 2011 06:39:18 +0000 (12:09 +0530)]
pulse: New pulseaudiosink element to handle format changes

This introduces a new bin which wraps around pulsesink and depending on
the formats supported by the sink, plugs in/out a decodebin2 as
required. This allows users to switch sinks on the stream and adapts
accordingly (for example, you could watch a movie in passthrough mode on
your receiver which supports AC3 decode, then plug out and switch to a
non-digital profile to continue uninterrupted on analog output).

The bin is required because doing the same with playbin2/playsink will
require API changes that cannot be made in 0.10. With 0.11/1.0, we
should be able to ask for upstream caps renegotiation to deal with all
this.

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

13 years agomatroskademux: Avoid sending EOS when in paused state
Branko Subasic [Fri, 16 Sep 2011 13:03:23 +0000 (15:03 +0200)]
matroskademux: Avoid sending EOS when in paused state

Changed the ebml reader's gst_ebml_peek_id_length() function so
that it returns the actual reason for why the peek failed, instead
of (almost) always returning GST_FLOW_UNEXPECTED. This prevents
the pulling task from sending EOS when doing a flushing seek.

13 years agomatroskademux: fix stuttering A/V
Vincent Penquerc'h [Thu, 15 Sep 2011 14:53:47 +0000 (15:53 +0100)]
matroskademux: fix stuttering A/V

Someone got had by implicit promotion to unsigned in ops with
a signed and an unsigned value.

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

13 years agonavseek: toggle pause/play on space bar
Vincent Penquerc'h [Wed, 14 Sep 2011 15:37:12 +0000 (16:37 +0100)]
navseek: toggle pause/play on space bar

A useful thing to have.

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

13 years agomatroskademux: configurable timestamp gap handling
David Svensson Fors [Wed, 14 Sep 2011 12:46:00 +0000 (14:46 +0200)]
matroskademux: configurable timestamp gap handling

matroskademux performs segment tricks to skip gaps in streams,
notably at start for non 0 based files.  There may however be
cases when full presentation (including intermediate gaps) is
desired, so a property allows to configure as of which gap
to act (or not at all).

API: GstMatroskaDemux::max-gap-time

Fixes #659009.

13 years agotests: flvmux: Fix flvmux's tests after fix for request pads handling
Thiago Santos [Mon, 12 Sep 2011 12:21:47 +0000 (09:21 -0300)]
tests: flvmux: Fix flvmux's tests after fix for request pads handling

Now that flvmux doesn't release its request pads on PAUSED->READY the
test doesn't need to re-request them for every reuse test start.

13 years agoqtmux: Fix ctts generation for streams that don't start at 0 timestamps
Thiago Santos [Fri, 9 Sep 2011 12:12:56 +0000 (09:12 -0300)]
qtmux: Fix ctts generation for streams that don't start at 0 timestamps

Subtract the first timestamp of a stream from all input buffers to
get 0-based timestamps for creating a sane ctts table. Without this
patch the ctts could have larger values than needed, causing the
playback to have a delay at startup.

As the first timestamp is only found after a few buffers are queued
(due to possible reordered buffers), once we find the first timestamp
we subtract it from all buffers on the queue, from that point on,
all buffers have their timestamps subtract when they are collected.

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

13 years agoflvmux: don't release request pads going PAUSED->READY
Alessandro Decina [Mon, 12 Sep 2011 05:55:19 +0000 (07:55 +0200)]
flvmux: don't release request pads going PAUSED->READY

Don't release request pads but just reset them. This makes pipelines using
flvmux reusable.

13 years agoac3parse: use bsid 9 and 10 to control sample rate
Vincent Penquerc'h [Fri, 9 Sep 2011 11:35:50 +0000 (12:35 +0100)]
ac3parse: use bsid 9 and 10 to control sample rate

See http://matroska.org/technical/specs/codecid/index.html

The spec is silent about this though...

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

13 years agortspsrc: ensure some initial state variable setup
Mark Nauwelaerts [Wed, 7 Sep 2011 12:13:03 +0000 (14:13 +0200)]
rtspsrc: ensure some initial state variable setup

... which might otherwise be skipped if the PLAY command is issued before
the OPEN command had a chance to actually be acted upon.

Fixes #657376.

13 years agomatroskademux: tweak gap handling
Mark Nauwelaerts [Thu, 8 Sep 2011 13:02:05 +0000 (15:02 +0200)]
matroskademux: tweak gap handling

... so as to avoid buffers before and after gap to have identical running time.

13 years agov4l2: use GST_RESOURCE_ERROR_BUSY if v4l2_ioctl fails with EBUSY
Guillaume Desmottes [Thu, 8 Sep 2011 11:28:24 +0000 (13:28 +0200)]
v4l2: use GST_RESOURCE_ERROR_BUSY if v4l2_ioctl fails with EBUSY

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

13 years agoqtmux: remove one G_UNLIKELY for user property
Thiago Santos [Wed, 7 Sep 2011 11:54:17 +0000 (08:54 -0300)]
qtmux: remove one G_UNLIKELY for user property

Using G_UNLIKELY on user properties isn't nice, specially when
that is the default option.

13 years agomatroskamux: handle GstForceKeyUnit event
Andoni Morales Alastruey [Tue, 15 Mar 2011 10:03:53 +0000 (11:03 +0100)]
matroskamux: handle GstForceKeyUnit event

... by starting a new cluster after forwarding event.

Fixes #644154.

13 years agocmml: Use complete cmml caps in the unit test
Sebastian Dröge [Wed, 7 Sep 2011 12:27:36 +0000 (14:27 +0200)]
cmml: Use complete cmml caps in the unit test

13 years agoqtmux: Use complete MPEG caps in the unit test
Sebastian Dröge [Wed, 7 Sep 2011 12:26:01 +0000 (14:26 +0200)]
qtmux: Use complete MPEG caps in the unit test

13 years agodocs: cleanup makefiles
Stefan Sauer [Wed, 7 Sep 2011 12:18:58 +0000 (14:18 +0200)]
docs: cleanup makefiles

Remove commented out parts that we don't need. Remove "the wingo addition" - no
so useful after all. Narrow down file-globs for plugin docs.

13 years agosouphttpsrc: Don't handle HTTP response 407 as error if proxy authentication data...
Konstantin Miller [Mon, 29 Aug 2011 12:12:22 +0000 (14:12 +0200)]
souphttpsrc: Don't handle HTTP response 407 as error if proxy authentication data is available

Fixes bug #657422.

13 years agoac3parse: Add Converter to the classification because it can convert between differen...
Sebastian Dröge [Wed, 7 Sep 2011 10:11:39 +0000 (12:11 +0200)]
ac3parse: Add Converter to the classification because it can convert between different alignments

This allows decodebin2 to let it negotiate properly.

13 years agoaudioparsers: Improve src template caps
Sebastian Dröge [Wed, 7 Sep 2011 10:10:48 +0000 (12:10 +0200)]
audioparsers: Improve src template caps

Remove the parsed/framed fields and add all fields to the template
caps that always exist.

13 years agoaacparse: parse codec_data to determine number of samples per frame
Mark Nauwelaerts [Tue, 6 Sep 2011 13:59:49 +0000 (15:59 +0200)]
aacparse: parse codec_data to determine number of samples per frame

Fixes #656734.

13 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 6 Sep 2011 19:24:46 +0000 (21:24 +0200)]
Automatic update of common submodule

From a39eb83 to 11f0cd5

13 years agoAutomatic update of common submodule
Stefan Sauer [Tue, 6 Sep 2011 13:40:32 +0000 (15:40 +0200)]
Automatic update of common submodule

From 605cd9a to a39eb83

13 years agomatroskamux: make default duration check less sensitive
Mark Nauwelaerts [Tue, 6 Sep 2011 13:05:37 +0000 (15:05 +0200)]
matroskamux: make default duration check less sensitive

Frame duration might vary for 1 usecond, in this case matroskamux
decides to create BLOCKGROUP instead of SIMPLEBLOCK.

Convert duration to timecodescale which is (typically) less precise, and
then also allow the difference of 1/-1 to arrange for less sensitive check.

Based on patch by Alexey Fisher <bug-track@fisher-privat.net>

Fixes #653080.

13 years agortpmp4gdepay: improve bogus interleaved index compensating
Mark Nauwelaerts [Tue, 6 Sep 2011 11:18:40 +0000 (13:18 +0200)]
rtpmp4gdepay: improve bogus interleaved index compensating

Patch by <gudake@gmail.com>

Fixes #654585.

13 years agosouphttpsrc: Allow positive, non-1.0 segment rates
Sebastian Dröge [Tue, 6 Sep 2011 08:33:21 +0000 (10:33 +0200)]
souphttpsrc: Allow positive, non-1.0 segment rates

Only negative rates are not supported. Fixes bug #658305.

13 years agotests: parsers: provide more real data when testing draining of garbage
Mark Nauwelaerts [Mon, 5 Sep 2011 13:50:56 +0000 (15:50 +0200)]
tests: parsers: provide more real data when testing draining of garbage

13 years agoamrparse: fix and streamline valid frame checking
Mark Nauwelaerts [Mon, 5 Sep 2011 13:50:04 +0000 (15:50 +0200)]
amrparse: fix and streamline valid frame checking

... to handle various combinations of sync or not, and sufficient data
or not as might be expected.

Fixes #650714.

13 years agoqtdemux: fragmented support; avoid adjustment for keyframe seek
Mark Nauwelaerts [Mon, 5 Sep 2011 12:49:32 +0000 (14:49 +0200)]
qtdemux: fragmented support; avoid adjustment for keyframe seek

... since all index data may not yet be available at that time.

13 years agoqtdemux: fragmented support; mark all audio track samples as keyframe
Mark Nauwelaerts [Mon, 5 Sep 2011 12:48:02 +0000 (14:48 +0200)]
qtdemux: fragmented support; mark all audio track samples as keyframe

13 years agoqtdemux: fragmented support; properly init return variable value
Brian Li [Mon, 5 Sep 2011 12:46:29 +0000 (14:46 +0200)]
qtdemux: fragmented support; properly init return variable value

Fixes #655918.

13 years agortspsrc: add gtk-doc for new short-header property
Mark Nauwelaerts [Mon, 5 Sep 2011 11:31:20 +0000 (13:31 +0200)]
rtspsrc: add gtk-doc for new short-header property

13 years agortspsrc: allow sending short RTSP requests to a server
Marc Leeman [Mon, 5 Sep 2011 11:18:39 +0000 (13:18 +0200)]
rtspsrc: allow sending short RTSP requests to a server

Some encoders (Arecont) do not like the long OPTIONS sent at startup as sent by
GStreamer, but do accept the short header as sent by Live555.

This patch makes the extending the request optional by adding a property
(short-header).

Fixes #655805.

API: GstRTSPSrc:short-header

13 years agortph263ppay: Set H263-2000 if thats what the other side wants
Olivier Crête [Wed, 4 Mar 2009 19:51:09 +0000 (14:51 -0500)]
rtph263ppay: Set H263-2000 if thats what the other side wants

The static caps states this element supports H263-2000, but setcaps never
sets it, so it was lie.

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

13 years agortpsession: Initialise the last_keyframe_request variable
Olivier Crête [Tue, 30 Aug 2011 23:02:51 +0000 (19:02 -0400)]
rtpsession: Initialise the last_keyframe_request variable

13 years agomultiudpsink: make add/remove/clear/get-stats action signals
Peter Korsgaard [Wed, 31 Aug 2011 14:04:24 +0000 (16:04 +0200)]
multiudpsink: make add/remove/clear/get-stats action signals

http://bugzilla.gnome.org/show_bug.cgi?id=657830

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
13 years agoqtdemux: push mode; perform some extra checks prior to upstream seeking
Mark Nauwelaerts [Tue, 30 Aug 2011 11:33:49 +0000 (13:33 +0200)]
qtdemux: push mode; perform some extra checks prior to upstream seeking

13 years agoqtdemux: push mode; fix buffered streaming
Mark Nauwelaerts [Tue, 30 Aug 2011 11:28:21 +0000 (13:28 +0200)]
qtdemux: push mode; fix buffered streaming

That is, in case where no seek is peformed to moov, but preceding
limited mdat is buffered.

13 years agoqtdemux: avoid overflow wraparound in timestamp when adding durations
Mark Nauwelaerts [Mon, 29 Aug 2011 13:13:56 +0000 (15:13 +0200)]
qtdemux: avoid overflow wraparound in timestamp when adding durations

Do some type juggling to avoid overflow, while still allowing for 'negative'
durations (which would need a wraparound effect).

13 years agov4l2src: make this work more than once in a row
Vincent Penquerc'h [Thu, 25 Aug 2011 22:37:47 +0000 (23:37 +0100)]
v4l2src: make this work more than once in a row

We used to skip frame rate setup if the camera was already setup
with the requested frame rate. This breaks some cameras though,
causing them to not output data (several models of Thinkpad cameras
have this problem at least).
So, don't skip.

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

13 years agoaacparse: only require two frames in a row when we do not have sync
Vincent Penquerc'h [Tue, 23 Aug 2011 11:12:15 +0000 (12:12 +0100)]
aacparse: only require two frames in a row when we do not have sync

This avoids a single bit error dropping two frames unnecessarily.
The two consecutive frames check is still required when we don't
have sync.

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

13 years agopulsesink: Trivial indentation fix
Arun Raghavan [Tue, 23 Aug 2011 16:11:15 +0000 (21:41 +0530)]
pulsesink: Trivial indentation fix

13 years agoflacdec: Correct sample number rounding resulting in timestamp jitter
Monty Montgomery [Thu, 21 Jul 2011 21:23:28 +0000 (17:23 -0400)]
flacdec: Correct sample number rounding resulting in timestamp jitter

flacdec converts the src timestamp to a sample number, uses that internally, then reconverts the sample number to a timestamp for the output buffer.  Unfortunately, sample numbers can't be represented in an integer number of nanoseconds, and the conversion process was truncating rather than rounding, resulting in sample numbers and output timestamps that were often off by a full sample.

This corrects the time->sample convesion

13 years agobreakmydata: element is not passthrough
David Schleef [Sat, 20 Aug 2011 21:48:20 +0000 (14:48 -0700)]
breakmydata: element is not passthrough

13 years agomultifilesrc: quiet debugging
David Schleef [Wed, 13 Jul 2011 18:20:34 +0000 (11:20 -0700)]
multifilesrc: quiet debugging

13 years agodeinterlace: change field handling through methods
David Schleef [Mon, 11 Jul 2011 04:40:20 +0000 (21:40 -0700)]
deinterlace: change field handling through methods

This likely breaks stuff.  The good: all of the methods now create
field images aligned with input frames, without timestamp mangling.
The bad: this touches a lot of code, much of which is hairy and in
need of cleanup.  However, at this point we can reasonably create a
PSNR-based test.

13 years agomultifilesink: reset ->streamheaders to NULL on _stop
Alessandro Decina [Sun, 21 Aug 2011 12:41:14 +0000 (14:41 +0200)]
multifilesink: reset ->streamheaders to NULL on _stop

Fixes invalid memory access reusing multifilesink

13 years agopulsesink: Allow writes in bigger chunks
David Henningsson [Thu, 18 Aug 2011 11:37:39 +0000 (13:37 +0200)]
pulsesink: Allow writes in bigger chunks

There's no use in splitting the incoming data down to the segsize
limit - by writing as much as possible in one chunk, we increase
performance and avoid PulseAudio unnecessary rewinds.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
13 years agomatroskademux: ensure no-more-pads is always emitted
Vincent Penquerc'h [Mon, 8 Aug 2011 21:14:28 +0000 (22:14 +0100)]
matroskademux: ensure no-more-pads is always emitted

In particular, do so even if failing to read while prerolling,
such as when reading from a partial file (eg, while it is being
downloaded).

This fixes a wedge in playbin2.

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

13 years agoflacdec: avoid timestamp/offset tracking going out of sync
Vincent Penquerc'h [Tue, 16 Aug 2011 16:27:13 +0000 (17:27 +0100)]
flacdec: avoid timestamp/offset tracking going out of sync

The libFLAC API is callback based, and we must only call it to
output data when we know we have enough input data. For this
reason, a single processing step is done when receiving a buffer.
However, if there were metadata buffers still pending, a step
intended for the first audio frame might end up writing that
leftover metadata. Since a single step is done per buffer, this
will cause every buffer to be written one step late.

This would add some latency (a bufferfull's worth), possibly
lose a buffer when seeking or the like, and also cause timestamp
and offset to be applied to the wrong buffer, as updates to
the "current" segment last_stop (from incoming buffer timestamp)
will be applied to an output buffer originating from the previous
incoming buffer.

This fixes the issue by ensuring that, upon receiving the first
audio frame, processing is done till all metadata is processed,
so the next "single step" done will be for the audio frame. After
this, we should keep to 1 input buffer -> 1 output buffer and so
avoid getting out of sync.

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