Nicolas Dufresne
203e245134
v4l2: better handle quirks activation
...
This way we can activate deactivate those quirks all at once at one
place.
https://bugzilla.gnome.org/show_bug.cgi?id=720568
2014-01-10 17:13:22 -05:00
Nicolas Dufresne
092e7605d3
v4l2: Fix h264 caps
...
V4L2_PIX_FMT_H264 is documentated as byte-stream (with start code). The ensure proper
negotiation with element like h264parse.
https://bugzilla.gnome.org/show_bug.cgi?id=720568
2014-01-10 17:13:22 -05:00
Nicolas Dufresne
e821de3494
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
2014-01-10 17:13:13 -05:00
Tim-Philipp Müller
88ac735af3
matroskademux: don't leak TOC chapter list
2014-01-10 16:50:11 +00:00
Vincent Penquerc'h
f8158baa93
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.
2014-01-10 08:54:04 +00:00
Tim-Philipp Müller
335b619cd5
rtprtxsend: remove duplicate assignment
...
Coverity CID 1151680
2014-01-09 23:55:16 +00:00
Vincent Penquerc'h
1c6ee3fba4
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
2014-01-09 18:29:32 +00:00
Sebastian Dröge
03dff9de0b
configure: Include AvailabilityMacros.h for osxvideo check
...
Otherwise MAC_OS_X_VERSION_MIN_REQUIRED might not be defined
2014-01-09 17:32:46 +01:00
Thiago Santos
5adedf9f5a
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
2014-01-09 11:58:46 -03:00
Wim Taymans
7f8c4dceb4
Revert "matroskamux: Use the running time for container timestamps, not buffer timestamps"
...
This reverts commit b3aa8755fe
.
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..).
2014-01-08 11:32:54 +01:00
Sebastian Dröge
fc99287472
configure: Fix AC_COMPILE_IFELSE usage
2014-01-08 10:41:24 +01:00
Sebastian Dröge
ae08e9a4cf
osxvideosink: Improve configure check for OSX >= 10.6
...
https://bugzilla.gnome.org/show_bug.cgi?id=721245
2014-01-08 10:31:18 +01:00
Aleix Conchillo Flaqué
441f286e28
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
2014-01-08 10:23:52 +01:00
Sebastian Dröge
2cddf3a0a9
matroskamux: Error out if ADPCM caps don't contain the layout field
2014-01-08 09:57:48 +01:00
Nicola Murino
bbb5a2853e
matroskamux: Add support for g726 ADPCM
...
https://bugzilla.gnome.org/show_bug.cgi?id=720995
2014-01-08 09:57:48 +01:00
Wim Taymans
2e9e80badf
rtspsrc: use new method to get media-type
...
Use the new method to get the media type of a transport.
2014-01-07 15:04:02 +01:00
Stefan Sauer
d1223ebd10
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.
2014-01-06 21:13:37 +01:00
Sebastian Dröge
5506dc3076
matroskamux: Add HEVC / h265 support
2014-01-06 14:55:36 +01:00
Sebastian Dröge
77745289c4
matroskademux: Add HEVC / h265 support
2014-01-06 14:55:36 +01:00
Stefan Sauer
73fe1d1f6f
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.
2014-01-06 13:55:36 +01:00
Stefan Sauer
9dde5e29da
avidemux, waveparse: more logging for unhandled chunks
...
Always print a warning with the tag and if possible do a memdump.
2014-01-06 13:55:36 +01:00
Stefan Sauer
addf5c79a2
avidemux: expose 'strn' - stream name - as title tag
2014-01-05 22:47:42 +01:00
Stefan Sauer
5384da2a1f
avidemux: parse fuji strd
...
We can get maker, model and capture date from this chunk.
Fixes #636143
2014-01-05 22:42:10 +01:00
Stefan Sauer
1be2922802
avidemux: ... and use the local api both times
2014-01-05 21:47:00 +01:00
Stefan Sauer
9a203fceeb
avidemux: copy the riff api for ncdt into the element
...
This chunk is avi specific, no need to expose this as public api.
2014-01-05 21:40:21 +01:00
Sebastian Dröge
a4a7dafc32
matroskamux: Add missing semicolon from last commit
2014-01-05 10:28:34 +01:00
Sebastian Dröge
b3aa8755fe
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.
2014-01-05 10:23:44 +01:00
Stefan Sauer
f48bb20b4f
avi: use new riff api to extract nikon metadata
...
Fixes #636143
2014-01-04 21:34:38 +01:00
Julien Isorce
70d3ff2f79
rtprtxsend/rtprtxreceive: generate gtk doc
2014-01-03 20:48:30 +01:00
George Kiagiadakis
94e4cd203b
test/check: Verify rtprtxsend::ssrc-map property works as expected
2014-01-03 20:48:29 +01:00
George Kiagiadakis
9226091235
rtprtxreceive: modify to use a payload-type map like rtprtxsend
2014-01-03 20:48:29 +01:00
George Kiagiadakis
c8a04bc7b2
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.
2014-01-03 20:48:29 +01:00
Wim Taymans
130ad1b1fa
rtprtxsend: Allow SSRC-multiplexing and multiple payload types in the original stream
...
Conflicts:
tests/examples/rtp/server-rtpaux.c
2014-01-03 20:48:29 +01:00
George Kiagiadakis
41285697ac
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.
2014-01-03 20:48:29 +01:00
Torrie Fischer
e29b5f8b41
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.
2014-01-03 20:48:29 +01:00
Julien Isorce
d2edee4b49
doc: add design-rtpauxiliary.txt to describe how rtpbin deals with auxiliary elements
2014-01-03 20:48:29 +01:00
Wim Taymans
679b5a8682
session: also push EOS event to RTCP srcpad
2014-01-03 20:48:29 +01:00
Wim Taymans
03e4a180da
session: place SSRC in Retransmission event
2014-01-03 20:48:29 +01:00
Julien Isorce
5f360f3b13
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.
2014-01-03 20:48:29 +01:00
Julien Isorce
68149d14e1
tests/check: add rtpcollision::test_rtx_ssrc_collision unit test
...
check that rtxrtpsend changes its retransmission ssrc when
collision happens
2014-01-03 20:48:28 +01:00
George Kiagiadakis
123bc46b60
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.
2014-01-03 20:48:28 +01:00
George Kiagiadakis
0a8b149e9e
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.
2014-01-03 20:48:28 +01:00
George Kiagiadakis
51edc07127
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.
2014-01-03 20:48:28 +01:00
George Kiagiadakis
487fa8c989
rtprtxsend: retransmit packets in the same order as the rtx requests
2014-01-03 20:48:28 +01:00
George Kiagiadakis
3e818e218b
tests/check: Add unit test for rtxsend's max_size_time property
2014-01-03 20:48:28 +01:00
George Kiagiadakis
7d530ab59f
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).
2014-01-03 20:48:28 +01:00
George Kiagiadakis
920a55532c
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.
2014-01-03 20:48:28 +01:00
George Kiagiadakis
f7277db9e4
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.
2014-01-03 20:48:28 +01:00
Julien Isorce
71bdb5e088
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.
2014-01-03 20:48:28 +01:00
Julien Isorce
2a2fa7ebc0
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.
2014-01-03 20:48:27 +01:00