platform/upstream/gstreamer.git
9 years agoqtdemux: fix tag list leaks on error paths
Vincent Penquerc'h [Thu, 16 Apr 2015 12:09:19 +0000 (13:09 +0100)]
qtdemux: fix tag list leaks on error paths

9 years agoqtdemux: fix tag list leak on unknown stream type
Vincent Penquerc'h [Thu, 16 Apr 2015 11:23:38 +0000 (12:23 +0100)]
qtdemux: fix tag list leak on unknown stream type

9 years agosuppressions: ignore an apparent bug in strtod
Vincent Penquerc'h [Thu, 9 Apr 2015 12:19:49 +0000 (13:19 +0100)]
suppressions: ignore an apparent bug in strtod

A buffer overread.

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

9 years agosplitmuxsink: do not access property variable without the object lock, use the local...
George Kiagiadakis [Wed, 15 Apr 2015 09:07:27 +0000 (11:07 +0200)]
splitmuxsink: do not access property variable without the object lock, use the local stack copy instead

9 years agosplitmuxsink: add probe on the multiqueue's sink pad instead of the ghost pad
George Kiagiadakis [Tue, 14 Apr 2015 16:45:44 +0000 (18:45 +0200)]
splitmuxsink: add probe on the multiqueue's sink pad instead of the ghost pad

because _release_pad tries to release it from ctx->sinkpad, which is
multiqueue's sink pad, and currently fails because the probe is not
installed there

9 years agortprtx*: Fix typos
Sebastian Dröge [Tue, 14 Apr 2015 17:08:24 +0000 (19:08 +0200)]
rtprtx*: Fix typos

9 years agortpsession: Not sending early RTCP now because of dithering means we send it with...
Sebastian Dröge [Tue, 14 Apr 2015 15:24:46 +0000 (17:24 +0200)]
rtpsession: Not sending early RTCP now because of dithering means we send it with the next compound packet

9 years agortpsession: Improve debug output a bit if we can't allow early feedback
Sebastian Dröge [Tue, 14 Apr 2015 14:27:18 +0000 (16:27 +0200)]
rtpsession: Improve debug output a bit if we can't allow early feedback

9 years agortpvp8depay: When dropping intra packet, request keyframe
Olivier Crête [Tue, 7 Apr 2015 22:00:53 +0000 (18:00 -0400)]
rtpvp8depay: When dropping intra packet, request keyframe

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

9 years agortpjitterbuffer: Change resyncing GST_WARNING to GST_INFO
Sebastian Dröge [Mon, 13 Apr 2015 18:25:00 +0000 (20:25 +0200)]
rtpjitterbuffer: Change resyncing GST_WARNING to GST_INFO

This also happens in the very beginning when we receive the first packet, a
warning would be very confusing here. In all places where we should warn about
this, we would've printed a warning already before.

9 years agomultifilesink: minor docs improvement
Tim-Philipp Müller [Thu, 2 Apr 2015 12:26:41 +0000 (13:26 +0100)]
multifilesink: minor docs improvement

9 years agortpjitterbuffer: Add "rtx-max-retries" property
Miguel París Díaz [Thu, 6 Nov 2014 11:08:03 +0000 (12:08 +0100)]
rtpjitterbuffer: Add "rtx-max-retries" property

This property allows to limit the maximum number of retransmission
for a specific packet.

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

9 years agortpjitterbuffer: Fix expected_dts calc in calculate_expected
Miguel París Díaz [Tue, 4 Nov 2014 14:00:52 +0000 (15:00 +0100)]
rtpjitterbuffer: Fix expected_dts calc in calculate_expected

Right above we consider lost_packet packets, each of them having duration,
as lost and triggered their timers immediately. Below we use expected_dts
to schedule retransmission or schedule lost timers for the packets that
come after expected_dts.

As we just triggered lost_packets packets as lost, there's no point in
scheduling new timers for them and we can just skip over all lost packets.

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

9 years agortpjitterbuffer: Make the next output buffer discont after resetting the jitterbuffer
Sebastian Dröge [Fri, 20 Mar 2015 17:21:57 +0000 (18:21 +0100)]
rtpjitterbuffer: Make the next output buffer discont after resetting the jitterbuffer

Resetting the jitterbuffer drops all packets and other things, and will cause
a discontinuity in the packets received by the depayloaders. They should now
also flush anything they had pending as the new data will start at a different
position.

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

9 years agoqtdemux: Update segment.start after key-unit seek
Hyunjun Ko [Fri, 10 Apr 2015 00:17:26 +0000 (09:17 +0900)]
qtdemux: Update segment.start after key-unit seek

When doing key uint seek, qtdemux calls gst_qtdemux_adjust_seek
to get proper offset. And then this offset is set to
segment.position and segment.time in gst_qtdemux_perform_seek but
segment.start is not updated.

After that, application sends segment query,
qtdemux sets start and stop to query using gst_segment_to_stream_time. Due
to the wrong value in segment.start, the stop position is smaller than
it should.

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

9 years agoqtmux: remove useless variable do_pts
Thiago Santos [Tue, 7 Apr 2015 19:12:40 +0000 (16:12 -0300)]
qtmux: remove useless variable do_pts

We always write the CTTS in qtmux. Ideally we only want to do that
for streams that need DTS, it should be present on the track information
rather than be decided based on each buffer

9 years agoqtmux: remove subtraction that makes PTS/DTS start from 0
Thiago Santos [Tue, 7 Apr 2015 03:53:35 +0000 (00:53 -0300)]
qtmux: remove subtraction that makes PTS/DTS start from 0

As qt uses durations, it doesn't matter, only the difference
between consecutive buffers is important. Also, collectpads
already replaces PTS/DTS with the running times for them.

9 years agotests: qtmux: add tests to verify it handles non-0 segments
Thiago Santos [Tue, 7 Apr 2015 01:36:43 +0000 (22:36 -0300)]
tests: qtmux: add tests to verify it handles non-0 segments

Both input streams in this test have a segment.start = 10s, so
output should start from 0 anyway.

Another test has both starting at non-0 segments, but the running
time of both streams should still start from 0

9 years agotests: qtmux: simple muxing test
Thiago Santos [Mon, 6 Apr 2015 23:03:19 +0000 (20:03 -0300)]
tests: qtmux: simple muxing test

Adds a new simple test that verifies that data is properly muxed
and preserved.  PTS, DTS, duration and caps are verified.

9 years agosmpte: remove unused fields
Ravi Kiran K N [Fri, 10 Apr 2015 05:29:26 +0000 (10:59 +0530)]
smpte: remove unused fields

Remove the fields - format and fps from smpte
as they are unused.

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

9 years agotests: add test suite for alpha
Ravi Kiran K N [Fri, 10 Apr 2015 04:59:47 +0000 (10:29 +0530)]
tests: add test suite for alpha

Added test suite for alpha element with test cases
1. alpha
2. chroma keying

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

9 years agosuppressions: add a well known zlib inflate bug
Vincent Penquerc'h [Thu, 9 Apr 2015 11:58:46 +0000 (12:58 +0100)]
suppressions: add a well known zlib inflate bug

9 years agosplitmuxsink: fix mutex leak
Vincent Penquerc'h [Thu, 9 Apr 2015 11:58:26 +0000 (12:58 +0100)]
splitmuxsink: fix mutex leak

9 years agotests: Fix rtprtx test by handling buffer lists
Jan Schmidt [Thu, 9 Apr 2015 02:58:04 +0000 (12:58 +1000)]
tests: Fix rtprtx test by handling buffer lists

Commit #1018aa made rtprtxsend handle buffer lists, breaking
the test which probes for buffers, but not buffer lists.

Use a utility function to run the probe callback on each buffer
in the list in turn and remove any buffers that are dropped.

9 years agoisomp4: Refactor various state variables into a mux_mode var
Jan Schmidt [Wed, 1 Apr 2015 00:15:38 +0000 (11:15 +1100)]
isomp4: Refactor various state variables into a mux_mode var

Instead of checking various state variables around the muxer,
track the current muxing mode in a single 'mux_mode' enum.

Add some implementation notes about the different mux modes

9 years agotests: Use AM_TESTS_ENVIRONMENT
Edward Hervey [Wed, 8 Apr 2015 14:40:02 +0000 (16:40 +0200)]
tests: Use AM_TESTS_ENVIRONMENT

Needed by the new automake test runner

9 years agortph263depay: Fix framesize parsing
Edward Hervey [Wed, 8 Apr 2015 09:17:31 +0000 (11:17 +0200)]
rtph263depay: Fix framesize parsing

The string passed to the parsing function only contains a framesize, and
not <pt> + <framesize>

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

9 years agowavparse: clip chunk size above the valid maximum (0x7fffffff)
Vincent Penquerc'h [Fri, 20 Mar 2015 12:18:37 +0000 (12:18 +0000)]
wavparse: clip chunk size above the valid maximum (0x7fffffff)

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

9 years agowavparse: clip chunk length to available data (when known)
Vincent Penquerc'h [Fri, 20 Mar 2015 09:07:35 +0000 (09:07 +0000)]
wavparse: clip chunk length to available data (when known)

This prevents silly chunk lengths from possibly overflowing
(at least when we know the actual data length).

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

9 years agoqtdemux: Don't accumulate segment bases manually
Sebastian Dröge [Tue, 7 Apr 2015 03:17:52 +0000 (20:17 -0700)]
qtdemux: Don't accumulate segment bases manually

gst_segment_do_seek() does that for us already, and doing it twice
will break non-flushing seeks in interesting ways. Leftover from 1.0
porting.

Also copy over segment offset and applied_rate, just in case.

9 years agoicles: Fix waiting for segment-done if it happens too fast
Sebastian Dröge [Tue, 7 Apr 2015 02:08:10 +0000 (19:08 -0700)]
icles: Fix waiting for segment-done if it happens too fast

Sometimes we can get segment-done before we got async-done. If we waited
for async-done only, the segment-done would be dropped and we would wait
forever for it a few lines below.

9 years agoqtdemux: stbl_index is valid from 0 onwards
Thiago Santos [Mon, 6 Apr 2015 21:55:08 +0000 (18:55 -0300)]
qtdemux: stbl_index is valid from 0 onwards

It indicates the last sample parsed, not the next one to parse.
As it starts in -1, any value from 0 onwards means that it has
some valid data.

9 years agodocs: make GstRTCPSync enum show up in rtpbin docs
Tim-Philipp Müller [Sun, 5 Apr 2015 19:06:09 +0000 (20:06 +0100)]
docs: make GstRTCPSync enum show up in rtpbin docs

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

9 years agodocs: add RTPJitterBufferMode enum to rtpbin docs
Tim-Philipp Müller [Sun, 5 Apr 2015 10:45:45 +0000 (11:45 +0100)]
docs: add RTPJitterBufferMode enum to rtpbin docs

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

9 years agomultifilesink: close files before posting message
Thiago Santos [Sat, 4 Apr 2015 14:55:00 +0000 (11:55 -0300)]
multifilesink: close files before posting message

Makes sure the files were properly flushed and closed before
the message reaches the application

9 years agotests: multifile: increment tests to check for multifile messages
Thiago Santos [Mon, 30 Mar 2015 16:54:23 +0000 (13:54 -0300)]
tests: multifile: increment tests to check for multifile messages

Also verify that the multifilesink file messages are being correctly
posted to the bus

9 years agotests: multifile: handle FIXME for proper checking when test finished
Thiago Santos [Mon, 30 Mar 2015 15:51:35 +0000 (12:51 -0300)]
tests: multifile: handle FIXME for proper checking when test finished

Use a GstBus and wait for EOS to finish the tests instead of
relying on sleeping

9 years agomultifilesink: post file message on EOS
Thiago Santos [Mon, 30 Mar 2015 14:14:09 +0000 (11:14 -0300)]
multifilesink: post file message on EOS

When multifilesink is operating in any mode other than one file
per buffer, the last file created won't have a file message posted
as multifilesink doesn't handle the EOS event.

This patch fixes it by using the last position to post a file
message when EOS is received. This should ensure at least the
time related data and the filename are posted to the application
or other elements

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

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Fri, 3 Apr 2015 17:57:50 +0000 (18:57 +0100)]
Automatic update of common submodule

From bc76a8b to c8fb372

9 years agoqtdemux: Guard against 64-bit overflow
Jan Schmidt [Thu, 2 Apr 2015 15:08:50 +0000 (02:08 +1100)]
qtdemux: Guard against 64-bit overflow

For large-file atoms, guard against overflow in the size field,
which could make us jump backward in the file and cause
infinite loops.

9 years agoisomp4: Make non-seekable downstream an error in normal mode
Jan Schmidt [Wed, 1 Apr 2015 12:46:13 +0000 (23:46 +1100)]
isomp4: Make non-seekable downstream an error in normal mode

When not in fast-start or fragmented mode, we need to be able
to rewrite the size of the mdat atom, or else the output just
won't be playable - the mdat placeholder with size == 0 will
cover the rest of the file, including any moov atom we write out.

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

9 years agortph263pay/-depay: add framesize SDP attribute
Sebastian Rasmussen [Sat, 15 Mar 2014 14:23:01 +0000 (15:23 +0100)]
rtph263pay/-depay: add framesize SDP attribute

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

9 years agortpjpegpay/-depay: Remove incorrectly introduced framesize SDP attribute
Sebastian Rasmussen [Sat, 15 Mar 2014 12:33:56 +0000 (13:33 +0100)]
rtpjpegpay/-depay: Remove incorrectly introduced framesize SDP attribute

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

9 years agov4l2src: device sequence/offset correction in case of renegotiation
Peter Seiderer [Fri, 27 Mar 2015 20:09:44 +0000 (21:09 +0100)]
v4l2src: device sequence/offset correction in case of renegotiation

The v4l2 device restarts the sequence counter in case of streamoff/streamon,
the GST offset values are supposed to increment strictly monotonic, so
adjust the sequence counter/offset values in case of caps
renegotiation.

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

9 years agov4l2src: add frame loss detection
Peter Seiderer [Fri, 14 Nov 2014 13:18:51 +0000 (14:18 +0100)]
v4l2src: add frame loss detection

In case of v4l2 driver filled offset/sequence values add frame
loss detection (and write a warning message).

Move offset meta data setting and frame loss checking after the
timestamp adjustment code to get proper timestamps for the
warning message.

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

9 years agov4l2: use v4l2 capture device sequence counter
Peter Seiderer [Fri, 14 Nov 2014 12:48:51 +0000 (13:48 +0100)]
v4l2: use v4l2 capture device sequence counter

Use the v4l2 capture device sequence counter for
setting the GstBuffer offset/offset_end values.

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

9 years agov4l2: Ask the driver about its requirements for min_buffers before initiating buffer...
Tobias Modschiedler [Mon, 30 Mar 2015 11:12:35 +0000 (13:12 +0200)]
v4l2: Ask the driver about its requirements for min_buffers before initiating buffer pool.

If propose_allocation() had not been called yet, it was possible that the driver was not asked at all.
In buffer pool: Consider minimum number of buffers requested by driver when setting config.

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

9 years agortpvp8depay: Parse width/height/profile from keyframes
Olivier Crête [Wed, 1 Apr 2015 23:30:27 +0000 (19:30 -0400)]
rtpvp8depay: Parse width/height/profile from keyframes

This makes it possible to mux the result into a container
such as matroska.

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

9 years agovp8enc: Expose VP8 width/height limitations in the caps template
Olivier Crête [Wed, 1 Apr 2015 23:01:49 +0000 (19:01 -0400)]
vp8enc: Expose VP8 width/height limitations in the caps template

The VP8 format specification (RFC 6386 section 18.1) specifies
that the maximum size is 16383x16383.

9 years agoflv: When passing seek event upstream, hold a ref.
Jan Schmidt [Mon, 30 Mar 2015 13:20:13 +0000 (00:20 +1100)]
flv: When passing seek event upstream, hold a ref.

In case upstream can't handle the seek, make sure we
keep a ref on the event to attempt to handle it ourselves.

9 years agomatroska: fix GValue leaks when parsing tags
Guillaume Desmottes [Thu, 26 Mar 2015 12:34:53 +0000 (13:34 +0100)]
matroska: fix GValue leaks when parsing tags

gst_tag_list_add_value() doesn't consume the GValue we pass to it so there is
no point copying it.

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

9 years agoqtdemux: resurrect some flow return handling
Mark Nauwelaerts [Mon, 23 Mar 2015 19:58:25 +0000 (20:58 +0100)]
qtdemux: resurrect some flow return handling

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

9 years agoflvdemux: resurrect some flow return handling
Mark Nauwelaerts [Mon, 23 Mar 2015 19:57:56 +0000 (20:57 +0100)]
flvdemux: resurrect some flow return handling

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

9 years agomatroskademux: resurrect some flow return handling
Mark Nauwelaerts [Mon, 23 Mar 2015 19:56:41 +0000 (20:56 +0100)]
matroskademux: resurrect some flow return handling

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

9 years agomatroska: store stream tags and push as updated
Thiago Santos [Fri, 27 Mar 2015 21:58:31 +0000 (18:58 -0300)]
matroska: store stream tags and push as updated

New tags can be found on different parts of the file, so this patch
keeps the stream taglists around for the life cycle of the pad
and adds those new tags as found. Then a new tag is found, the
pad's is marked with a tags changed flag, making the element push
a new tag event on the next check. Before this, we were sending
only the newly found tags, as the element was losing its taglist
when pushing the event.

9 years agomatroskademux: send global tags incrementally
Ramiro Polla [Sun, 15 Mar 2015 13:40:36 +0000 (14:40 +0100)]
matroskademux: send global tags incrementally

Instead of sending only new tags once they are found, merge the taglist
and send them incrementally.

9 years agomatroskaparse: send global tags
Ramiro Polla [Sat, 14 Mar 2015 16:07:05 +0000 (17:07 +0100)]
matroskaparse: send global tags

Global tags are already being read in matroskaparse, but they are not
currently being sent.

This patch makes global tags get sent incrementally whenever new ones
are found.

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

9 years agoquarktv: fix "planes" property range, a value of 0 is not allowed
Vineeth T M [Tue, 3 Feb 2015 04:48:58 +0000 (10:18 +0530)]
quarktv: fix "planes" property range, a value of 0 is not allowed

When planes property is set to 0, the pipeline executes in
an infinite loop and never exits. Since planes must never
be 0, set the minimum value in the property description
to 1.

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

9 years agowavparse: Fix up comments regarding DTS
David Schleef [Thu, 26 Mar 2015 20:42:02 +0000 (13:42 -0700)]
wavparse: Fix up comments regarding DTS

9 years agortspsrc: Fix segment in TCP mode
Nicolas Dufresne [Wed, 25 Mar 2015 19:11:34 +0000 (15:11 -0400)]
rtspsrc: Fix segment in TCP mode

It is expected that buffers are time-stamped with running time. Set
a segment accordingly. In this case we pick 0,-1 as this is what udpsrc
would do. Depayloaders will update the segment to reflect the playback
position.

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

9 years agowavparse: be more strict about typefinding DTS
David Schleef [Thu, 26 Mar 2015 19:21:25 +0000 (12:21 -0700)]
wavparse: be more strict about typefinding DTS

Code now matches comments.

9 years agortspsrc: Remove useless function
Nicolas Dufresne [Wed, 25 Mar 2015 19:10:53 +0000 (15:10 -0400)]
rtspsrc: Remove useless function

This function didn't do anything special, let's not use a function for
that.

9 years agortpjitter: Account for rtx_retry in overflow check
Nicolas Dufresne [Fri, 20 Mar 2015 17:03:09 +0000 (13:03 -0400)]
rtpjitter: Account for rtx_retry in overflow check

As rtx_retry is part of the substraction, we need to take it into
account, otherwise we may endup with a big value.

9 years agoosxvideosink: check for deprecated constants prior to OSX 10.10
Julien Isorce [Tue, 24 Mar 2015 23:15:15 +0000 (23:15 +0000)]
osxvideosink: check for deprecated constants prior to OSX 10.10

cocoawindow.m:339:5: error: 'NSOpenGLPFAWindow'
is deprecated: first deprecated in OS X 10.9

cocoawindow.m:576:7: error: 'NSOpenGLPFAFullScreen'
is deprecated: first deprecated in OS X 10.6

cocoawindow.m:605:24: error: 'setFullScreen'
is deprecated: first deprecated in OS X 10.7

9 years agortspsrc: Fix seeking query
Nicolas Dufresne [Tue, 24 Mar 2015 20:51:12 +0000 (16:51 -0400)]
rtspsrc: Fix seeking query

The segment start/stop in the query is meant to represent the seekable
portion of the stream. It does not match the segment start/stop. Instead
export 0 to duration.

9 years agoflvdemux: Only set caps once if they don't change
Sebastian Dröge [Tue, 24 Mar 2015 15:18:53 +0000 (16:18 +0100)]
flvdemux: Only set caps once if they don't change

Previously we were setting new caps with the same content for every H264 or
AAC codec_data we found in the stream, spamming everything and causing
renegotiations.

9 years agoflvdemux: Don't create AAC/H264 caps without codec_data
Sebastian Dröge [Tue, 24 Mar 2015 11:46:19 +0000 (12:46 +0100)]
flvdemux: Don't create AAC/H264 caps without codec_data

Instead delay creating the caps until we read the codec_data from the stream,
or fail if we get normal data before the codec_data.

AAC raw caps and H264 avc caps always need codec_data, setting caps on the pad
without them is going to make negotiation fail most of the time. Even if we
later set new caps with the codec_data, that's usually going to be too late.

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

9 years agoflvdemux: Fix indention
Sebastian Dröge [Tue, 24 Mar 2015 14:39:22 +0000 (15:39 +0100)]
flvdemux: Fix indention

9 years agoosxaudio: Fix string format warning on 32-bit
Ilya Konstantinov [Sun, 22 Mar 2015 11:23:44 +0000 (13:23 +0200)]
osxaudio: Fix string format warning on 32-bit

UInt32 (Darwin, not C99's uint32_t) is 'unsigned long' on 32-bit
platforms.

9 years agortpsession: Fix another instance of sticky event misordering warnings
Sebastian Dröge [Sat, 21 Mar 2015 16:50:40 +0000 (17:50 +0100)]
rtpsession: Fix another instance of sticky event misordering warnings

Make sure that the sync_src pad has caps before the segment event.
Otherwise we might get a segment event before caps from the receive
RTCP pad, and then later when receiving RTCP packets will set caps.
This will results in a sticky event misordering warning

This fixes warnings in the rtpaux unit test but also in the
rtpaux and rtx examples in tests/examples/rtp

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

9 years agortpsession: Also start the RTCP send thread when receiving RTP or RTCP
Sebastian Dröge [Sat, 21 Mar 2015 16:18:47 +0000 (17:18 +0100)]
rtpsession: Also start the RTCP send thread when receiving RTP or RTCP

Before we only started it when either:
- there is no send RTP stream
or
- we received an RTP packet for sending

This could mean that if the send RTP pads are connected but never receive any
RTP data, and the same session is also used for receiving RTP/RTCP, we would
never start the RTCP thread and would never send RTCP for the receiving part
of the session.

This can be reproduced with a pipeline like:

gst-launch-1.0 rtpbin name=rtpbin \
udpsrc port=5000 ! "application/x-rtp, media=video, clock-rate=90000, encoding-name=H264" ! rtpbin.recv_rtp_sink_0 \
udpsrc port=5001 ! rtpbin.recv_rtcp_sink_0 \
rtpbin.send_rtcp_src_0 ! fakesink name=rtcp_fakesink silent=false async=false sync=false \
rtpbin.recv_rtp_src_0_2553225531_96 ! decodebin ! xvimagesink \
fakesrc ! valve drop=true ! rtpbin.send_rtp_sink_0 \
rtpbin.send_rtp_src_0 ! fakesink name=rtp_fakesink silent=false async=false sync=false -v

Before this change the rtcp_fakesink would never send RTCP for the receiving
part of the session (i.e. no receiver reports!), after the change it does.

And before and after this change it would send RTCP for the receiving part of
the session if the sender part was omitted (the last two lines).

9 years agortprtxsend: Add support for buffer lists
Sebastian Dröge [Thu, 19 Mar 2015 10:54:12 +0000 (11:54 +0100)]
rtprtxsend: Add support for buffer lists

9 years agortprtxqueue: Implement support for buffer lists
Sebastian Dröge [Thu, 19 Mar 2015 10:39:38 +0000 (11:39 +0100)]
rtprtxqueue: Implement support for buffer lists

9 years agortspsrc: Improve trace readability
Nicolas Dufresne [Wed, 18 Mar 2015 21:32:36 +0000 (17:32 -0400)]
rtspsrc: Improve trace readability

Change the command number into strings.

9 years agoflvdemux: Don't repeatedly warn after no_more_pads (v2)
Jan Alexander Steffens (heftig) [Tue, 20 Jan 2015 09:18:56 +0000 (10:18 +0100)]
flvdemux: Don't repeatedly warn after no_more_pads (v2)

This can get rather spammy for such a high log level.
Only warn once per stream.

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

9 years agoflvdemux: Introduce constant for no-more-pads threshold
Jan Alexander Steffens (heftig) [Mon, 16 Mar 2015 10:23:52 +0000 (11:23 +0100)]
flvdemux: Introduce constant for no-more-pads threshold

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

9 years agoflvdemux: Fix warning to contain 'video'
Jan Alexander Steffens (heftig) [Tue, 20 Jan 2015 09:18:29 +0000 (10:18 +0100)]
flvdemux: Fix warning to contain 'video'

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

9 years agomatroskademux: for dts only stream set pts=dts for intra only formats
Nicola Murino [Wed, 11 Mar 2015 20:25:40 +0000 (21:25 +0100)]
matroskademux: for dts only stream set pts=dts for intra only formats

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

9 years agomatroskademux: fix sending of tags
Ramiro Polla [Sat, 14 Mar 2015 15:39:09 +0000 (16:39 +0100)]
matroskademux: fix sending of tags

* Fix critical when new tags are found after segment event has already
  been sent.
* Send global tags before stream tags.
* Split sending of tags out of gst_matroska_demux_send_event() into its
  own function.

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

9 years agortspsrc: properly escape percent sign in documentation
Ramiro Polla [Fri, 13 Mar 2015 18:26:06 +0000 (18:26 +0000)]
rtspsrc: properly escape percent sign in documentation

9 years agortpdtmfmux: properly escape percent sign in documentation
Ramiro Polla [Fri, 13 Mar 2015 18:26:44 +0000 (18:26 +0000)]
rtpdtmfmux: properly escape percent sign in documentation

9 years agov4l2src: delay renegotiation until it is likely buffers were reclaimed
Thiago Santos [Fri, 13 Mar 2015 18:48:03 +0000 (18:48 +0000)]
v4l2src: delay renegotiation until it is likely buffers were reclaimed

Allow renegotiation to happen when buffers have returned after an allocation
query. As the allocation query is serialized, all buffers from the pool
should have returned and we can stop it to create a new one for the
new format

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

9 years agov4l2object: add gst_v4l2_object_try_format
Thiago Santos [Fri, 13 Mar 2015 18:47:55 +0000 (18:47 +0000)]
v4l2object: add gst_v4l2_object_try_format

Similar to set_format but it uses TRY_FMT instead of S_FMT

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

9 years agomultiudpsink: fix crash with GST_DEBUG enabled
Tim-Philipp Müller [Fri, 13 Mar 2015 18:38:42 +0000 (18:38 +0000)]
multiudpsink: fix crash with GST_DEBUG enabled

g_inet_socket_address_get_address() does not give
us a ref to the address, so don't unref it.

9 years agolevel: Don't read over the end of the input memory
Sebastian Dröge [Thu, 12 Mar 2015 13:49:56 +0000 (13:49 +0000)]
level: Don't read over the end of the input memory

Previously we advanced the in_data pointer by bps for every channel, and then
later again for block_size*bps. This caused us to be one sample further than
expected if an input buffer covered two analysis frames. And in the end lead
to completely bogus values reported by level.

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

9 years agoRemove a couple of superfluous trailing semi-colons
Jan Schmidt [Wed, 11 Mar 2015 14:37:08 +0000 (01:37 +1100)]
Remove a couple of superfluous trailing semi-colons

9 years agoFix double semicolons
Tim-Philipp Müller [Tue, 10 Mar 2015 09:31:20 +0000 (09:31 +0000)]
Fix double semicolons

9 years agosplitmux: Shut down element before downward state change
Jan Schmidt [Tue, 10 Mar 2015 04:46:40 +0000 (15:46 +1100)]
splitmux: Shut down element before downward state change

Make sure the state change won't hang trying to shut down pads
by making sure the streaming has stopped before chaining up.

9 years agoosxaudio: stream format is an SPDIF-only field
Ilya Konstantinov [Mon, 9 Mar 2015 20:58:05 +0000 (22:58 +0200)]
osxaudio: stream format is an SPDIF-only field

9 years agoosxaudio: fix spaces
Ilya Konstantinov [Mon, 9 Mar 2015 20:53:41 +0000 (22:53 +0200)]
osxaudio: fix spaces

9 years agoosxaudio: add type check macro
Ilya Konstantinov [Mon, 9 Mar 2015 20:52:46 +0000 (22:52 +0200)]
osxaudio: add type check macro

9 years agoosxaudio: rename gst_core_audio_set_channels_layout()
Ilya Konstantinov [Mon, 9 Mar 2015 20:51:51 +0000 (22:51 +0200)]
osxaudio: rename gst_core_audio_set_channels_layout()

to gst_core_audio_get_channel_layout().

9 years agoosxaudio: remove unused finalize
Ilya Konstantinov [Mon, 9 Mar 2015 20:30:28 +0000 (22:30 +0200)]
osxaudio: remove unused finalize

9 years agovp9enc: remove duplicate declaration of function
Luis de Bethencourt [Mon, 9 Mar 2015 16:25:43 +0000 (16:25 +0000)]
vp9enc: remove duplicate declaration of function

9 years agortph264depay: remove unused value
Luis de Bethencourt [Mon, 9 Mar 2015 16:22:29 +0000 (16:22 +0000)]
rtph264depay: remove unused value

CID #1226474

9 years agortph263pay: fix leak
Luis de Bethencourt [Mon, 9 Mar 2015 16:14:34 +0000 (16:14 +0000)]
rtph263pay: fix leak

CID 1212156

9 years agortph263pay: remove uneeded variable
Luis de Bethencourt [Mon, 9 Mar 2015 15:58:33 +0000 (15:58 +0000)]
rtph263pay: remove uneeded variable

We just need to save the ebit information in case there is an error decoding.

9 years agovp[89]enc: Reset the encoder when flushing
Sebastian Dröge [Mon, 9 Mar 2015 15:46:02 +0000 (16:46 +0100)]
vp[89]enc: Reset the encoder when flushing

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

9 years agomatroska: error mode if can't push buffer
Luis de Bethencourt [Mon, 9 Mar 2015 12:51:17 +0000 (12:51 +0000)]
matroska: error mode if can't push buffer

If gst_pad_push() fails, inform and return flow error.

9 years agomatroska: unused value
Luis de Bethencourt [Mon, 9 Mar 2015 12:13:34 +0000 (12:13 +0000)]
matroska: unused value

Value set in ret will be overwritten just before exiting the function.

CID #1226469