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).
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.
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
Mark Nauwelaerts [Thu, 1 Sep 2011 12:47:48 +0000 (14:47 +0200)]
rtpjitterbuffer: only reset skew on gap if input ts available
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 ...
Mark Nauwelaerts [Mon, 8 Aug 2011 10:48:50 +0000 (12:48 +0200)]
rtspsrc: switch to rtp time based syncing when guessed appropriate
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).
Mark Nauwelaerts [Mon, 8 Aug 2011 10:11:24 +0000 (12:11 +0200)]
rtpjitterbuffer: also provide clock-base to sync signal
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.
Mark Nauwelaerts [Mon, 1 Aug 2011 06:35:01 +0000 (08:35 +0200)]
rtpsession: trigger reconsideration if rtcp interval set
Mark Nauwelaerts [Mon, 1 Aug 2011 06:32:24 +0000 (08:32 +0200)]
rtspsrc: configure rtcp interval if provided
... in PLAY response.
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
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
Vincent Penquerc'h [Mon, 19 Sep 2011 07:37:58 +0000 (09:37 +0200)]
speexenc: do not use invalid buffer timestamps
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
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.
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
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
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.
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.
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
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.
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
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.
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.
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
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.
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.
Sebastian Dröge [Wed, 7 Sep 2011 12:27:36 +0000 (14:27 +0200)]
cmml: Use complete cmml 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
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.
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.
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.
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.
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.
Stefan Sauer [Tue, 6 Sep 2011 19:24:46 +0000 (21:24 +0200)]
Automatic update of common submodule
From a39eb83 to 11f0cd5
Stefan Sauer [Tue, 6 Sep 2011 13:40:32 +0000 (15:40 +0200)]
Automatic update of common submodule
From 605cd9a to a39eb83
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.
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.
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.
Mark Nauwelaerts [Mon, 5 Sep 2011 13:50:56 +0000 (15:50 +0200)]
tests: parsers: provide more real data when testing draining of garbage
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.
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.
Mark Nauwelaerts [Mon, 5 Sep 2011 12:48:02 +0000 (14:48 +0200)]
qtdemux: fragmented support; mark all audio track samples as keyframe
Brian Li [Mon, 5 Sep 2011 12:46:29 +0000 (14:46 +0200)]
qtdemux: fragmented support; properly init return variable value
Fixes #655918.
Mark Nauwelaerts [Mon, 5 Sep 2011 11:31:20 +0000 (13:31 +0200)]
rtspsrc: add gtk-doc for new short-header property
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
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
Olivier Crête [Tue, 30 Aug 2011 23:02:51 +0000 (19:02 -0400)]
rtpsession: Initialise the last_keyframe_request variable
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>
Mark Nauwelaerts [Tue, 30 Aug 2011 11:33:49 +0000 (13:33 +0200)]
qtdemux: push mode; perform some extra checks prior to upstream seeking
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.
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).
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
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
Arun Raghavan [Tue, 23 Aug 2011 16:11:15 +0000 (21:41 +0530)]
pulsesink: Trivial indentation fix
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
David Schleef [Sat, 20 Aug 2011 21:48:20 +0000 (14:48 -0700)]
breakmydata: element is not passthrough
David Schleef [Wed, 13 Jul 2011 18:20:34 +0000 (11:20 -0700)]
multifilesrc: quiet debugging
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.
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
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>
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
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
Vincent Penquerc'h [Tue, 16 Aug 2011 14:32:07 +0000 (15:32 +0100)]
flacdec: bail on reserved value
Now that we look at the right bits, we can test against the reserved
value as we do for other fields.
https://bugzilla.gnome.org/show_bug.cgi?id=650960
Vincent Penquerc'h [Tue, 16 Aug 2011 14:27:43 +0000 (15:27 +0100)]
flacdec: fix bit twiddling
Right shifting a 8 bit value by 8 bits is twice too much
to get the high 4 bits.
https://bugzilla.gnome.org/show_bug.cgi?id=650960
Vincent Penquerc'h [Tue, 16 Aug 2011 14:22:46 +0000 (15:22 +0100)]
flacdec: warn if we see a variable block size where unsupported
https://bugzilla.gnome.org/show_bug.cgi?id=650960
Vincent Penquerc'h [Tue, 16 Aug 2011 17:25:29 +0000 (18:25 +0100)]
spectrum: avoid crashing by resetting the correct number of channels
https://bugzilla.gnome.org/show_bug.cgi?id=656606
Vincent Penquerc'h [Tue, 16 Aug 2011 12:16:22 +0000 (13:16 +0100)]
flacparse: fix off by one in frame size check
Yes, I was tracking another bug and the small test file I generated
to test with improbably just happened to trigger this, with a second
and last frame of 1615 bytes.
https://bugzilla.gnome.org/show_bug.cgi?id=656649
Tim-Philipp Müller [Sun, 14 Aug 2011 19:46:01 +0000 (20:46 +0100)]
id3demux: remove specs from git as well now that parsing code is in -base
Mark Nauwelaerts [Thu, 14 Jul 2011 13:42:36 +0000 (15:42 +0200)]
id3demux: use -base provided id3 tag parsing
https://bugzilla.gnome.org/show_bug.cgi?id=654388
Tim-Philipp Müller [Sat, 13 Aug 2011 15:51:22 +0000 (16:51 +0100)]
jackaudiosrc: fix error message code
And also post 'not found' error if jackd is not even installed.
Stefan Kost [Fri, 12 Aug 2011 14:32:58 +0000 (16:32 +0200)]
qtdemux: initialize bitrate variable and reset for each loop
Don't check eventually unset variable and don't accidentially use values from last
cycle.
Edward Hervey [Tue, 9 Aug 2011 09:28:17 +0000 (11:28 +0200)]
rtspsrc: Properly error out if SDP contains no streams
Also fixes unitialized variable error on macosx.
Vincent Penquerc'h [Tue, 9 Aug 2011 08:05:31 +0000 (09:05 +0100)]
ximagesrc: clear flags on buffer reuse
This will ensure a logically new buffer does not keep flags from
a previous use of that buffer (eg, DISCONT would be set on the first
buffer, and mistakenly kept when reused).
https://bugzilla.gnome.org/show_bug.cgi?id=653709
Vincent Penquerc'h [Mon, 8 Aug 2011 09:54:26 +0000 (10:54 +0100)]
v4l2: take care not to change the current format where appropriate
Some drivers are buggy are will change the current format when
processing VIDIOC_TRY_FMT. Save and restore the current format
to ensure the format is kept unchanged.
https://bugzilla.gnome.org/show_bug.cgi?id=649067
Sjoerd Simons [Sun, 7 Aug 2011 10:23:26 +0000 (12:23 +0200)]
v4l2src: Use fraction compare util function.
Use the fraction compare utility to compare function, not the
handcrafted one. The handcrafted one is buggy as it doesn't take into
account rounding error. For example comparing a framerate of 20/1 on a
camera configured as 30/1 fps would yield true: 1 == (1 * 20)/30 and not
re-configure the camera. Fixes #656104
Jan Schmidt [Wed, 3 Aug 2011 12:50:05 +0000 (22:50 +1000)]
matroska: Register new debug category
Register the matroskareadcommon debug category when the
plugin is loaded to avoid assertion output when debug is turned on.
Philippe Normand [Fri, 29 Jul 2011 11:03:55 +0000 (13:03 +0200)]
qtdemux: soften assertion check on stream size
https://bugzilla.gnome.org/show_bug.cgi?id=655570
Robert Krakora [Wed, 3 Aug 2011 08:09:42 +0000 (10:09 +0200)]
rtpjpegpay: Add support for H.264 payload in MJPEG container
See http://www.quickcamteam.net/uvc-h264/USB_Video_Payload_H.264_0.87.pdf
Fixes bug #655530.
Tristan Matthews [Wed, 3 Aug 2011 02:05:08 +0000 (22:05 -0400)]
jackaudiosink: Don't call g_alloca() in process_cb
g_alloca() is not RT-safe, so instead we should allocate the
memory needed in advance. Fixes #655866
Tim-Philipp Müller [Tue, 2 Aug 2011 22:42:58 +0000 (23:42 +0100)]
docs: fix two more Since: tags
Mart Raudsepp [Sun, 31 Jul 2011 01:19:00 +0000 (04:19 +0300)]
deinterlace: Fix Since tags for fieldanalysis related new properties
commit
c1b100cf9c is after 0.10.29 and 0.10.30 was a branched release.
So fix Since tags from 0.10.29 to 0.10.31 for the new properties.
Tim-Philipp Müller [Fri, 29 Jul 2011 12:05:42 +0000 (13:05 +0100)]
pulsesink: fix variable-set-but-not-used compiler warning with older pulse versions
Mark Nauwelaerts [Fri, 29 Jul 2011 10:07:24 +0000 (12:07 +0200)]
rtpsession: properly init rtcp_min_interval
Arun Raghavan [Wed, 9 Mar 2011 05:34:36 +0000 (11:04 +0530)]
pulsesink: Add support for compressed formats
This adds support for various compressed formats (AC3, E-AC3, DTS and
MP3) payloaded in IEC 61937 format (used for transmission over S/PDIF,
HDMI and Bluetooth).
The acceptcaps() function allows bins to probe for what formats the sink
being connected to support. This only works after the element is set to
at least READY.
If the underlying sink changes and the format we are streaming is not
available, we emit a message that will allow upstream elements/bins to
block and renegotiate a new format.
Arun Raghavan [Tue, 1 Mar 2011 10:04:46 +0000 (15:34 +0530)]
pulsesink: Use the extended stream API if available
This uses the new extended API for creating streams. This will allow us
to support compressed formats natively in pulsesink as well.
Arun Raghavan [Thu, 28 Jul 2011 18:37:52 +0000 (00:07 +0530)]
pulsesrc: Add a source-output-index property
This exposes the source output index of the record stream that we open
so that clients can use this with the introspection if they want (to
move the stream, for example).
Mark Nauwelaerts [Thu, 28 Jul 2011 12:44:57 +0000 (14:44 +0200)]
rtpssrcdemux: keep a ref on the src pad while using it
Prevent a possible race if clear_ssrc() is called between getting the pad and
doing the push.
Based on patch by <olivier.crete@collabora.com>
https://bugzilla.gnome.org/show_bug.cgi?id=650916
Olivier Crête [Tue, 24 May 2011 08:29:57 +0000 (11:29 +0300)]
rtpssrcdemux: Make the pads lock recursive and hold it across the signal emit
We need to keep the lock held because we don't want a push before the "new-ssrc-pad"
handler has completed. But we may want to push an event from inside that handler, hence
the recursive mutex.
https://bugzilla.gnome.org/show_bug.cgi?id=650916
Olivier Crête [Tue, 24 May 2011 08:17:25 +0000 (11:17 +0300)]
rtpssrcdemux: Use PADs lock
https://bugzilla.gnome.org/show_bug.cgi?id=650916
Sjoerd Simons [Wed, 27 Jul 2011 17:15:20 +0000 (18:15 +0100)]
rtph264depay: Cope with FU-A E bit not being set
Some h264 payloaders are unfortunately buggy and don't correctly set the
E bit in FU-A NAL when they have ended. Work around this by assuming
such a fragmentation unit has ended when there was no packet loss and a
new NAL is started
Arun Raghavan [Tue, 12 Apr 2011 11:31:47 +0000 (17:01 +0530)]
ac3parse: Support switching alignment on-the-fly
This allows switching of alignment for E-AC3 streams at run-time. This
is requested by downstream elements via a custom event.
https://bugzilla.gnome.org/show_bug.cgi?id=650313
Arun Raghavan [Sat, 9 Apr 2011 06:56:56 +0000 (12:26 +0530)]
ac3parse: Add support for IEC 61937 alignment
When pushing out buffers over S/PDIF or HDMI, IEC 61937 payloading
requires each buffer to contain 6 blocks from each substream. This adds
code to collect all the frames needed to meet this requirement before
pushing out a buffer.
https://bugzilla.gnome.org/show_bug.cgi?id=650313
Olivier Crête [Wed, 8 Jun 2011 19:57:37 +0000 (15:57 -0400)]
rtpsession: Always send application requested feedback in immediate mode
Send as many application requested feedback messages in immediate mode, even if they
have already been sent.
https://bugzilla.gnome.org/show_bug.cgi?id=654583
Olivier Crête [Wed, 8 Jun 2011 18:48:01 +0000 (14:48 -0400)]
rtpsession: Don't let the computed RTP bandwidth fall too low
If it falls too low, the computed RTCP bandwidth will be near zero and
the RTCP thread will be stopped.
https://bugzilla.gnome.org/show_bug.cgi?id=654583
Olivier Crête [Mon, 25 Apr 2011 20:13:38 +0000 (16:13 -0400)]
rtpsession: Wait longer to timeout SSRC collision
Using the current RTCP interval to timeout SSRC collision can lead to
collisions being timed out immediately if a BYE packet is sent because
it is sent immediately, so the interval is 0. This is not what we
want. So just set a static 10 times the default RTCP interval, it
should be enough
https://bugzilla.gnome.org/show_bug.cgi?id=648642
Mark Nauwelaerts [Tue, 19 Jul 2011 11:38:01 +0000 (13:38 +0200)]
rtspsrc: set SOURCE flag at init time
Fixes #654816.
Olivier Crête [Mon, 18 Jul 2011 20:46:27 +0000 (16:46 -0400)]
rtph264depay: Complete merged AU on marker bit
The marker bit on a RTP packet means the AU has been completed, so push it out
immediately to reduce the latency.
https://bugzilla.gnome.org/show_bug.cgi?id=654850
Olivier Crête [Tue, 19 Jul 2011 00:27:38 +0000 (20:27 -0400)]
rtph264pay: Only set the marker bit on the last NALU of a multi-NALU access unit
An access unit could contain multiple NAL units, in that case, only the last
RTP packet of the last NALU should have its marker bit set.
https://bugzilla.gnome.org/show_bug.cgi?id=654850