platform/upstream/gst-plugins-good.git
10 years agov4l2object: Split caps in different categories
Nicolas Dufresne [Fri, 6 Dec 2013 19:44:51 +0000 (14:44 -0500)]
v4l2object: Split caps in different categories

This is need to correctly expose capabilities on specialized devices
like decoders and encoders.

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

10 years agomatroskademux: don't leak TOC chapter list
Tim-Philipp Müller [Fri, 10 Jan 2014 14:16:00 +0000 (14:16 +0000)]
matroskademux: don't leak TOC chapter list

10 years agomatroskamux: remove obsolete write-dummy-and-overwrite-on-eos code
Vincent Penquerc'h [Fri, 10 Jan 2014 08:52:16 +0000 (08:52 +0000)]
matroskamux: remove obsolete write-dummy-and-overwrite-on-eos code

The need for rewriting apparently is obsolete 0.10 leftover.
We now have caps for subtitles when we create the headers,
so we always write the correct data in the first place.

10 years agortprtxsend: remove duplicate assignment
Tim-Philipp Müller [Thu, 9 Jan 2014 23:55:16 +0000 (23:55 +0000)]
rtprtxsend: remove duplicate assignment

Coverity CID 1151680

10 years agomatroskamux: write subtitle codec ID and data at start when known
Vincent Penquerc'h [Thu, 9 Jan 2014 18:25:04 +0000 (18:25 +0000)]
matroskamux: write subtitle codec ID and data at start when known

This avoids issues with writing dummy data first, then having
to come back and write correct data later. Doing so prevents
the muxed stream from being actually streamable.

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

10 years agoconfigure: Include AvailabilityMacros.h for osxvideo check
Sebastian Dröge [Thu, 9 Jan 2014 16:32:15 +0000 (17:32 +0100)]
configure: Include AvailabilityMacros.h for osxvideo check

Otherwise MAC_OS_X_VERSION_MIN_REQUIRED might not be defined

10 years agoqtmux: respect the HDLR box string format for mov and isomedia
Thiago Santos [Thu, 9 Jan 2014 14:56:31 +0000 (11:56 -0300)]
qtmux: respect the HDLR box string format for mov and isomedia

Mov spec says it uses a pascal style string, while isomedia uses
a null terminated one. Store the current atoms flavor into the HDLR
to be able to generate the correct output.

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

10 years agoRevert "matroskamux: Use the running time for container timestamps, not buffer timest...
Wim Taymans [Wed, 8 Jan 2014 10:28:04 +0000 (11:28 +0100)]
Revert "matroskamux: Use the running time for container timestamps, not buffer timestamps"

This reverts commit b3aa8755fe07639f22e4104f4932d769d6c9075a.

We are already using the running-time because they were placed on the
buffers with gst_collect_pads_clip_running_time(). Arguably it would be
better to not modify the incomming buffers but collectpads seems to want
to use absolute timestamps from the buffers for finding the best buffer
(this can be changed with a custom compare function..).

10 years agoconfigure: Fix AC_COMPILE_IFELSE usage
Sebastian Dröge [Wed, 8 Jan 2014 09:41:24 +0000 (10:41 +0100)]
configure: Fix AC_COMPILE_IFELSE usage

10 years agoosxvideosink: Improve configure check for OSX >= 10.6
Sebastian Dröge [Wed, 8 Jan 2014 09:31:18 +0000 (10:31 +0100)]
osxvideosink: Improve configure check for OSX >= 10.6

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

10 years agortpbin: remove unused list of decoders
Aleix Conchillo Flaqué [Tue, 7 Jan 2014 20:13:51 +0000 (12:13 -0800)]
rtpbin: remove unused list of decoders

remove list of decoders, which are already handled by the list of elements.

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

10 years agomatroskamux: Error out if ADPCM caps don't contain the layout field
Sebastian Dröge [Wed, 8 Jan 2014 08:46:55 +0000 (09:46 +0100)]
matroskamux: Error out if ADPCM caps don't contain the layout field

10 years agomatroskamux: Add support for g726 ADPCM
Nicola Murino [Fri, 3 Jan 2014 14:25:23 +0000 (15:25 +0100)]
matroskamux: Add support for g726 ADPCM

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

10 years agortspsrc: use new method to get media-type
Wim Taymans [Tue, 7 Jan 2014 14:04:02 +0000 (15:04 +0100)]
rtspsrc: use new method to get media-type

Use the new method to get the media type of a transport.

10 years agowavparse: split the test
Stefan Sauer [Mon, 6 Jan 2014 20:12:17 +0000 (21:12 +0100)]
wavparse: split the test

This way one failure won't shadow the other test and also if one fails we get
better disgnostics through the test-name.

10 years agomatroskamux: Add HEVC / h265 support
Sebastian Dröge [Mon, 6 Jan 2014 13:54:46 +0000 (14:54 +0100)]
matroskamux: Add HEVC / h265 support

10 years agomatroskademux: Add HEVC / h265 support
Sebastian Dröge [Mon, 6 Jan 2014 13:54:38 +0000 (14:54 +0100)]
matroskademux: Add HEVC / h265 support

10 years agowavparse: remove ifdef'ed code
Stefan Sauer [Mon, 6 Jan 2014 12:36:38 +0000 (13:36 +0100)]
wavparse: remove ifdef'ed code

We do have adtl and cue parse as part of toc handling alreday. The fmt code is a left over from <0.10 times.

10 years agoavidemux, waveparse: more logging for unhandled chunks
Stefan Sauer [Mon, 6 Jan 2014 12:32:58 +0000 (13:32 +0100)]
avidemux, waveparse: more logging for unhandled chunks

Always print a warning with the tag and if possible do a memdump.

10 years agoavidemux: expose 'strn' - stream name - as title tag
Stefan Sauer [Sun, 5 Jan 2014 21:47:42 +0000 (22:47 +0100)]
avidemux: expose 'strn' - stream name - as title tag

10 years agoavidemux: parse fuji strd
Stefan Sauer [Sun, 5 Jan 2014 21:41:24 +0000 (22:41 +0100)]
avidemux: parse fuji strd

We can get maker, model and capture date from this chunk.
Fixes #636143

10 years agoavidemux: ... and use the local api both times
Stefan Sauer [Sun, 5 Jan 2014 20:46:33 +0000 (21:46 +0100)]
avidemux: ... and use the local api both times

10 years agoavidemux: copy the riff api for ncdt into the element
Stefan Sauer [Sun, 5 Jan 2014 20:38:14 +0000 (21:38 +0100)]
avidemux: copy the riff api for ncdt into the element

This chunk is avi specific, no need to expose this as public api.

10 years agomatroskamux: Add missing semicolon from last commit
Sebastian Dröge [Sun, 5 Jan 2014 09:28:21 +0000 (10:28 +0100)]
matroskamux: Add missing semicolon from last commit

10 years agomatroskamux: Use the running time for container timestamps, not buffer timestamps
Sebastian Dröge [Sun, 5 Jan 2014 09:22:37 +0000 (10:22 +0100)]
matroskamux: Use the running time for container timestamps, not buffer timestamps

Buffer timestamps have no real meaning here, and for selecting the next
buffer we already use the running time anyway.

10 years agoavi: use new riff api to extract nikon metadata
Stefan Sauer [Sat, 4 Jan 2014 20:34:38 +0000 (21:34 +0100)]
avi: use new riff api to extract nikon metadata

Fixes #636143

10 years agortprtxsend/rtprtxreceive: generate gtk doc
Julien Isorce [Fri, 1 Nov 2013 16:41:43 +0000 (16:41 +0000)]
rtprtxsend/rtprtxreceive: generate gtk doc

10 years agotest/check: Verify rtprtxsend::ssrc-map property works as expected
George Kiagiadakis [Mon, 2 Dec 2013 10:26:09 +0000 (11:26 +0100)]
test/check: Verify rtprtxsend::ssrc-map property works as expected

10 years agortprtxreceive: modify to use a payload-type map like rtprtxsend
George Kiagiadakis [Fri, 29 Nov 2013 18:35:44 +0000 (19:35 +0100)]
rtprtxreceive: modify to use a payload-type map like rtprtxsend

10 years agortprtxsend: do not keep history of packets with an unknown payload type
George Kiagiadakis [Fri, 29 Nov 2013 18:58:26 +0000 (19:58 +0100)]
rtprtxsend: do not keep history of packets with an unknown payload type

This allows to disable retransmission per payload type by not putting
a certain payload type in the map.

10 years agortprtxsend: Allow SSRC-multiplexing and multiple payload types in the original stream
Wim Taymans [Thu, 2 Jan 2014 14:18:52 +0000 (15:18 +0100)]
rtprtxsend: Allow SSRC-multiplexing and multiple payload types in the original stream

Conflicts:
tests/examples/rtp/server-rtpaux.c

10 years agortprtxsend: Add an rtx-ssrc property to allow external control of the ssrc
George Kiagiadakis [Mon, 25 Nov 2013 14:00:45 +0000 (15:00 +0100)]
rtprtxsend: Add an rtx-ssrc property to allow external control of the ssrc

This is useful when one needs to know the SSRC beforehands, so that it can
be used for SRTP for example.

10 years agoexamples: rtp: Add end-to-end rtpbin example with RTX elements
Torrie Fischer [Wed, 13 Nov 2013 20:11:35 +0000 (15:11 -0500)]
examples: rtp: Add end-to-end rtpbin example with RTX elements

This example demonstrates how to use rtpbin with retransmission (rtx)
elements set in the place of rtpbin's "aux" elements in order to
enable RTP retransmission according to the rules of RFC4588.

10 years agodoc: add design-rtpauxiliary.txt to describe how rtpbin deals with auxiliary elements
Julien Isorce [Tue, 5 Nov 2013 17:35:01 +0000 (17:35 +0000)]
doc: add design-rtpauxiliary.txt to describe how rtpbin deals with auxiliary elements

10 years agosession: also push EOS event to RTCP srcpad
Wim Taymans [Thu, 2 Jan 2014 13:48:49 +0000 (14:48 +0100)]
session: also push EOS event to RTCP srcpad

10 years agosession: place SSRC in Retransmission event
Wim Taymans [Thu, 2 Jan 2014 13:46:11 +0000 (14:46 +0100)]
session: place SSRC in Retransmission event

10 years agotests/check: add rtpaux::test_simple_rtpbin_aux
Julien Isorce [Fri, 1 Nov 2013 16:57:15 +0000 (16:57 +0000)]
tests/check: add rtpaux::test_simple_rtpbin_aux

It shows how to use "set-aux-receive" and "set-aux-send"
properties of rtpbin to set rtprtxsend and rtprtxreceive

Build 2 pipelines, one for rtpbin as a sender and one for
rtobin as a receive. Then transmit an audio stream.

It also drops some packets to activate restransmission and
check they are actually retransmited.

10 years agotests/check: add rtpcollision::test_rtx_ssrc_collision unit test
Julien Isorce [Fri, 1 Nov 2013 17:09:42 +0000 (17:09 +0000)]
tests/check: add rtpcollision::test_rtx_ssrc_collision unit test

check that rtxrtpsend changes its retransmission ssrc when
collision happens

10 years agotests/check: add rtprtx::test_rtxreceive_data_reconstruction
George Kiagiadakis [Wed, 6 Nov 2013 10:34:13 +0000 (12:34 +0200)]
tests/check: add rtprtx::test_rtxreceive_data_reconstruction

This unit test verifies that retransmitted rtp packets coming out
of rtprtxreceive are the same as the original ones.

10 years agortprtxsend: use a realistic limit for the value of max-size-packets
George Kiagiadakis [Tue, 5 Nov 2013 07:33:51 +0000 (09:33 +0200)]
rtprtxsend: use a realistic limit for the value of max-size-packets

G_MAXINT16 is chosen because if the queue contains more than
G_MAXINT16 packets, seqnum comparison will not work properly.

10 years agortprtxsend: use a GSequence to implement the buffer queue
George Kiagiadakis [Mon, 4 Nov 2013 18:05:03 +0000 (20:05 +0200)]
rtprtxsend: use a GSequence to implement the buffer queue

This has the advantage that searching the queue to find the
buffer with the requested seqnum is done with binary search.

10 years agortprtxsend: retransmit packets in the same order as the rtx requests
George Kiagiadakis [Mon, 4 Nov 2013 16:38:24 +0000 (18:38 +0200)]
rtprtxsend: retransmit packets in the same order as the rtx requests

10 years agotests/check: Add unit test for rtxsend's max_size_time property
George Kiagiadakis [Sat, 2 Nov 2013 17:56:44 +0000 (19:56 +0200)]
tests/check: Add unit test for rtxsend's max_size_time property

10 years agortprtxsend: Handle the max_size_time property
George Kiagiadakis [Tue, 29 Oct 2013 17:27:00 +0000 (18:27 +0100)]
rtprtxsend: Handle the max_size_time property

This property allows you to specify the amount of buffers
to keep in the retransmission queue expressed as time (ms)
instead of buffer count (which is the max_size_buffers property).

10 years agortprtxsend: keep important buffer information in a private structure
George Kiagiadakis [Sat, 2 Nov 2013 13:21:08 +0000 (15:21 +0200)]
rtprtxsend: keep important buffer information in a private structure

This is to avoid mapping a buffer every time we need to read a seqnum
or a timestamp.

10 years agotests/check: Add rtprtx::test_rtxsender_packet_retention
George Kiagiadakis [Fri, 1 Nov 2013 10:58:47 +0000 (11:58 +0100)]
tests/check: Add rtprtx::test_rtxsender_packet_retention

This unit test verifies that the rtxsend element correctly maintains
a buffer of already transmitted rtp packets and that it can
re-transmit all of them correctly on demand. It also verifies
that the limit of this buffer (max-size-packets property) is respected.

10 years agotests/check: add rtprtx::test_drop_multiple_sender unit test
Julien Isorce [Fri, 1 Nov 2013 16:22:13 +0000 (16:22 +0000)]
tests/check: add rtprtx::test_drop_multiple_sender unit test

Several senders / one receiver

Similar than test_drop_one_sender but with multiple senders
mixed through the funnel element.
It drops some packets and checks that they are retransmited
correctly.

10 years agotests/check: add rtprtx::test_drop_one_sender unit test
Julien Isorce [Fri, 1 Nov 2013 16:21:00 +0000 (16:21 +0000)]
tests/check: add rtprtx::test_drop_one_sender unit test

Test for one sender / one receiver

Build the pipeline
videotestsrc ! rtpvrawpay ! rtprtxsend ! rtprtxreceive ! fakesink
and drop some buffers between rtprtxsend and rtprtxreceive
Then it checks that every dropped packet has been re-sent.
It also checks that not too much requests has been sent.

10 years agotests/check: add rtprtx::test_push_forward_seq
Julien Isorce [Fri, 1 Nov 2013 16:17:51 +0000 (16:17 +0000)]
tests/check: add rtprtx::test_push_forward_seq

add simple unit test that manually push buffers
in rtprtxsend connected to rtprtxreceive.
Drops some buffers and make sure they are retransmisted.

10 years agortpmanager: add new rtprtxsend / rtprtxreceive elements
Julien Isorce [Fri, 1 Nov 2013 15:52:03 +0000 (15:52 +0000)]
rtpmanager: add new rtprtxsend / rtprtxreceive elements

The purpose of the sender RTX object is to keep a history
of RTP packets up to a configurable limit (in time). It will
listen for custom retransmission events from downstream. When
it receives a request for retransmission, it will look up the
requested seqnum in its list of stored packets. If the packet
is available, it will create a RTX packet according to RFC 4588
and send this as an auxiliary stream.

The receiver will listen to the custom retransmission events
from the downstream jitterbuffer and will remember the SSRC1
of the stream and seqnum that was requested. When it sees a
packet with one of the stored seqnum, it associates the SSRC2
of the stream with the SSRC1 of the master stream. From then
on it knows that SSRC2 is the retransmission stream of SSRC1.
This algorithm is stated in RFC 4588. For this algorithm to
work, RFC4588 also states that no two pending retransmission
requests can exist for the same seqnum and different SSRCs or
else it would be impossible to associate the retransmission with
the original requester SSRC.
When the RTX receiver has associated the retransmission packets,
it can depayload and forward them to the source pad of the element.

RTX is SSRC-multiplexed

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

10 years agodoc: add design for rtp retransmission
Julien Isorce [Tue, 5 Nov 2013 16:36:46 +0000 (16:36 +0000)]
doc: add design for rtp retransmission

Describe how rtprtxsend and rtprtxreceive generally work
but also how the association algorithm is implemented.

10 years agosouphttpsrc: use status code macro instead of 407
Reynaldo H. Verdejo Pinochet [Thu, 2 Jan 2014 23:23:05 +0000 (20:23 -0300)]
souphttpsrc: use status code macro instead of 407

Rest of the code is using the _PROXY_AUTHENTICATION_REQUIRED
macro too. Easier to understand if you don't recall HTTP
error codes by heart.

10 years agoshout2send: change audio_format field to format
Reynaldo H. Verdejo Pinochet [Wed, 1 Jan 2014 00:31:43 +0000 (21:31 -0300)]
shout2send: change audio_format field to format

This element and the underlying libshout2 library
can handle video media files too. The code already
handles video/webm so the name gets confusing. Also
add and use DEFAULT_FORMAT macro Instead of hardwiring
SHOUT_FORMAT_VORBIS at init

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

10 years agoshout2send: clarify meaning of the URL prop
Reynaldo H. Verdejo Pinochet [Tue, 31 Dec 2013 23:09:29 +0000 (20:09 -0300)]
shout2send: clarify meaning of the URL prop

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

10 years agoshout2send: docs, add a sample pipeline
Reynaldo H. Verdejo Pinochet [Fri, 27 Dec 2013 15:27:32 +0000 (12:27 -0300)]
shout2send: docs, add a sample pipeline

And finish adding shout2send to the docs while at it

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

10 years agogdkpixbufoverlay: remove spurious @see_also
Reynaldo H. Verdejo Pinochet [Tue, 31 Dec 2013 18:00:22 +0000 (15:00 -0300)]
gdkpixbufoverlay: remove spurious @see_also

10 years agodeinterlace: support any video formats and any caps features if deinterlace mode...
Matthieu Bouron [Fri, 6 Dec 2013 17:08:54 +0000 (17:08 +0000)]
deinterlace: support any video formats and any caps features if deinterlace mode allows it

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

10 years agov4l2: Handle v4l2_ioctl() errors even in error handling
Sebastian Rasmussen [Tue, 31 Dec 2013 12:31:52 +0000 (13:31 +0100)]
v4l2: Handle v4l2_ioctl() errors even in error handling

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

10 years agoosxvideo: unifdef -DRUN_NS_APP_THREAD
Jeremy Huddleston Sequoia [Wed, 1 Jan 2014 20:11:43 +0000 (12:11 -0800)]
osxvideo: unifdef -DRUN_NS_APP_THREAD

10 years agoosxvideo: Assume SDK and deployment target are at least Snow Leopard
Jeremy Huddleston Sequoia [Wed, 1 Jan 2014 20:10:01 +0000 (12:10 -0800)]
osxvideo: Assume SDK and deployment target are at least Snow Leopard

10 years agoconfigure: Disable osxvideo on Leopard and earlier
Jeremy Huddleston Sequoia [Wed, 1 Jan 2014 20:23:50 +0000 (12:23 -0800)]
configure: Disable osxvideo on Leopard and earlier

This also moves the "other platforms" check in OS X video to before the
variable is read

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

10 years agotests: add AUX receiver unit test
Wim Taymans [Tue, 31 Dec 2013 13:57:27 +0000 (14:57 +0100)]
tests: add AUX receiver unit test

10 years agotests: improve rtpbin test
Wim Taymans [Tue, 31 Dec 2013 12:20:01 +0000 (13:20 +0100)]
tests: improve rtpbin test

10 years agortpbin: add some docs about AUX elements
Wim Taymans [Tue, 31 Dec 2013 12:16:46 +0000 (13:16 +0100)]
rtpbin: add some docs about AUX elements

10 years agotests: add AUX sender unit test
Wim Taymans [Tue, 31 Dec 2013 12:01:22 +0000 (13:01 +0100)]
tests: add AUX sender unit test

10 years agortpbin: add support for AUX sender and receiver
Wim Taymans [Tue, 31 Dec 2013 11:31:25 +0000 (12:31 +0100)]
rtpbin: add support for AUX sender and receiver

AUX elements are elements that can be inserted into the rtpbin
pipeline right before or after 1 or more session elements.

The AUX elements are essential for implementing functionality such
as error correction (FEC) and retransmission (RTX).

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

10 years agotests: add decoder test
Wim Taymans [Tue, 31 Dec 2013 11:22:39 +0000 (12:22 +0100)]
tests: add decoder test

10 years agortpbin: make request_element method internally
Wim Taymans [Mon, 30 Dec 2013 16:36:42 +0000 (17:36 +0100)]
rtpbin: make request_element method internally

We can use the same method to create encoder and decoder elements, they
are just internal elements that we create.

10 years agowavparse: Skip id3 tag
Stéphane Cerveau [Tue, 31 Dec 2013 09:25:28 +0000 (10:25 +0100)]
wavparse: Skip id3 tag

Skip id3 tag during wav parse.

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

10 years agoosx: Make OSX version checks more consistent
Sebastian Dröge [Tue, 31 Dec 2013 09:10:05 +0000 (10:10 +0100)]
osx: Make OSX version checks more consistent

And especially also consider update versions, e.g. 10.5 with updates
will be 1051 or similar and thus bigger than MAC_OS_X_VERSION_10_5 but
still won't have the API we want to use.

10 years agoosxvideosink: Fix build on updated OS X Leopard
Jeremy Huddleston [Tue, 31 Dec 2013 09:07:22 +0000 (10:07 +0100)]
osxvideosink: Fix build on updated OS X Leopard

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

10 years agoavimux: Add missing break
Edward Hervey [Mon, 30 Dec 2013 16:23:22 +0000 (17:23 +0100)]
avimux: Add missing break

I guess no-one noticed we no longer could mux WMV3 ...

COVERITY CID 1139759

10 years agortpvrawpay: Add missing break
Edward Hervey [Mon, 30 Dec 2013 16:20:37 +0000 (17:20 +0100)]
rtpvrawpay: Add missing break

COVERITY CID 1139762

10 years agortpsession: internal-ssrc is no longer deprecated
Wim Taymans [Mon, 30 Dec 2013 16:00:45 +0000 (17:00 +0100)]
rtpsession: internal-ssrc is no longer deprecated

10 years agortpbin: add Since tags
Wim Taymans [Mon, 30 Dec 2013 15:59:20 +0000 (16:59 +0100)]
rtpbin: add Since tags

10 years agortpbin: add signal for new jitterbuffer
Wim Taymans [Mon, 30 Dec 2013 15:52:28 +0000 (16:52 +0100)]
rtpbin: add signal for new jitterbuffer

Emit a signal when a new jitterbuffer is created so that the app can
have a chance to configure it.

10 years agortpbin: handle multiple encoder instances
Wim Taymans [Mon, 30 Dec 2013 15:28:57 +0000 (16:28 +0100)]
rtpbin: handle multiple encoder instances

Keep track of elements that are added to multiple sessions and make sure
we only add them to the rtpbin once and that we clean them when no
session refers to them anymore.

10 years agotests: add unit test for encoder element
Wim Taymans [Mon, 30 Dec 2013 14:16:09 +0000 (15:16 +0100)]
tests: add unit test for encoder element

10 years agortpbin: fix memory leaks
Wim Taymans [Mon, 30 Dec 2013 14:15:43 +0000 (15:15 +0100)]
rtpbin: fix memory leaks

10 years agotests: fix leak
Wim Taymans [Mon, 30 Dec 2013 14:03:34 +0000 (15:03 +0100)]
tests: fix leak

10 years agortpbin: expect the pads on the encoders
Wim Taymans [Mon, 30 Dec 2013 14:00:50 +0000 (15:00 +0100)]
rtpbin: expect the pads on the encoders

Don't use request pads for the encoder elements, the signal handler
should request the pads and make sure they are available with the right
name.

10 years agortpbin: request-rtp-encoder are no action signals
Wim Taymans [Mon, 30 Dec 2013 13:56:07 +0000 (14:56 +0100)]
rtpbin: request-rtp-encoder are no action signals

The request-rtp-encoder signals are not action signals so mark them
correctly and use an accumulator to collect the result value.

10 years agowavparse: emit midi-base-note tag from data in 'smpl' chunk
Stefan Sauer [Mon, 30 Dec 2013 13:36:45 +0000 (14:36 +0100)]
wavparse: emit midi-base-note tag from data in 'smpl' chunk

Add parsing of the 'smpl' chunk. Right now we only grab the midi-base-note and
emit it as a tag.

10 years agogstrtpsession: suggest upstream to use the new "internal-ssrc" after a collision
George Kiagiadakis [Thu, 26 Dec 2013 10:05:19 +0000 (12:05 +0200)]
gstrtpsession: suggest upstream to use the new "internal-ssrc" after a collision

When a collision is found on the internal ssrc, we have to change it.
Ideally, we want also the payloader upstream to follow this change and use
the new internal ssrc. Ideally we want this condition to be always met:
if there is one payloader sending on this session, its ssrc should match the
internal ssrc.

10 years agortpsession: allow setting internal-ssrc again
George Kiagiadakis [Thu, 26 Dec 2013 09:04:29 +0000 (11:04 +0200)]
rtpsession: allow setting internal-ssrc again

10 years agoy4mencode: Remove dead code
Edward Hervey [Mon, 30 Dec 2013 12:31:45 +0000 (13:31 +0100)]
y4mencode: Remove dead code

set/get property isn't used

10 years agortpqcelpdepay: Remove uneeded variable
Edward Hervey [Mon, 30 Dec 2013 12:30:24 +0000 (13:30 +0100)]
rtpqcelpdepay: Remove uneeded variable

10 years agortpbin: allow dynamic RTP/RTCP encoders/decoders
Aleix Conchillo Flaqué [Thu, 5 Dec 2013 23:53:52 +0000 (15:53 -0800)]
rtpbin: allow dynamic RTP/RTCP encoders/decoders

* gst/rtpmanager/gstrtpbin.[ch]: four new action signals have been
  added (request-rtp-encoder, request-rtp-decoder, request-rtcp-encoder
  and request-rtcp-decoder). The user will be able to provide encoders
  or decoders dynamically. The encoders must follow the srtpenc API and
  the decoders the srtpdec API. Having separate signals for RTP and RTCP
  allows the user to use different encoders/decoders or provide the same
  one (e.g. that would be the case for srtpenc).

  Also, rtpbin now allows application/x-srtp in its pads.

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

10 years agortpjitterbuffer: dynamically recalculate RTX parameters
Wim Taymans [Fri, 27 Dec 2013 15:51:32 +0000 (16:51 +0100)]
rtpjitterbuffer: dynamically recalculate RTX parameters

Use the round-trip-time and average jitter to dynamically calculate the
retransmission interval and expected packet arrival time.

Based on patches from Torrie Fischer <torrie.fischer@collabora.co.uk>

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

10 years agortpjitterbuffer: calculate average jitter
Wim Taymans [Fri, 27 Dec 2013 15:50:52 +0000 (16:50 +0100)]
rtpjitterbuffer: calculate average jitter

10 years agortpsession: use RTT from the Retransmission event
Wim Taymans [Fri, 27 Dec 2013 15:48:48 +0000 (16:48 +0100)]
rtpsession: use RTT from the Retransmission event

Place the estimated RTT in the Retransmission event and let the session
manager use that instead of the hardcoded value.

10 years agojitterbuffer: take more accurate running-time for NACK
Wim Taymans [Fri, 27 Dec 2013 14:57:39 +0000 (15:57 +0100)]
jitterbuffer: take more accurate running-time for NACK

Don't use the current time calculated from the tmieout loop for when we
last scheduled the NACK because it might be unscheduled because of a max
packet misorder and then we don't accurately calculate the current time.
Instead, take the current element running time using the clock.

10 years agowavpackdec: Send a CAPS event in the unit test
Sebastian Dröge [Mon, 30 Dec 2013 10:06:38 +0000 (11:06 +0100)]
wavpackdec: Send a CAPS event in the unit test

10 years agoqtdemux: improve mss_mode/fragmented special handling
Thiago Santos [Fri, 27 Dec 2013 05:14:02 +0000 (02:14 -0300)]
qtdemux: improve mss_mode/fragmented special handling

Make it clear what should be handled purely by mss mode:
1) Expose the streams on the first moof as there are no moov atoms
2) Properly cleanup streams on flushes

Add a note about the meaning of upstream_newsegment and mss_mode
for future reference.

Make all other special fragment handling shared for both dash
and mss streams.

10 years agoqtdemux: drain the adapter before pushing EOS
Thiago Santos [Thu, 12 Dec 2013 13:50:27 +0000 (10:50 -0300)]
qtdemux: drain the adapter before pushing EOS

In a fragmented scenario, qtdemux is operating in push mode
and it gets a fragmented buffer. While processing its data
downstream gets unlinked (or a input-selector changes its
active pad and returns not-linked). Qtdemux stops processing
this fragment and returns not-linked upstream, leaving the
remaining data in its adapter.

When it gets an EOS it should make sure that all the data it
had received is pushed before pushing EOS.

10 years agoshout2send: drop IP only requirement for _set_host()
Reynaldo H. Verdejo Pinochet [Fri, 27 Dec 2013 02:21:47 +0000 (23:21 -0300)]
shout2send: drop IP only requirement for _set_host()

libshout2 (we require > 2.0 at config time) supports
both IP and hostname for _set_host(). Dropped an
outdated FIXME regarding this limitation, adjusted
some comments and changed the param blurb to reflect
this too.

10 years agoshout2send: Retarget FIXME to 2.0
Reynaldo H. Verdejo Pinochet [Fri, 27 Dec 2013 00:43:34 +0000 (21:43 -0300)]
shout2send: Retarget FIXME to 2.0

10 years agortspsrc: use aggregate control for PLAY/PAUSE/TEARDOWN
Wim Taymans [Thu, 26 Dec 2013 10:21:36 +0000 (11:21 +0100)]
rtspsrc: use aggregate control for PLAY/PAUSE/TEARDOWN

Use the aggregate control instead of the original request url to perform
PAUSE/PLAY and TEARDOWN.

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

10 years agorndbuffersize: Proxy CAPS, ALLOCATION, SCHEDULING and srcpad events properly
Sebastian Dröge [Tue, 24 Dec 2013 13:40:25 +0000 (14:40 +0100)]
rndbuffersize: Proxy CAPS, ALLOCATION, SCHEDULING and srcpad events properly

10 years agomatroskamux: adpcm max block align is 8192
Nicola Murino [Mon, 23 Dec 2013 23:43:39 +0000 (00:43 +0100)]
matroskamux: adpcm max block align is 8192