Nicolas Dufresne
e1be685c34
v4l2bufferpool: Request buffers only once
...
VIDIOC_REQBUFS allocates buffer, it has no place inside set_config. Also, some driver do
no allow multiple calls to this ioctl.
https://bugzilla.gnome.org/show_bug.cgi?id=720568
2014-01-10 17:13:22 -05:00
Nicolas Dufresne
b80169a16a
v4l2object: Don't validate dimension for encoded format
...
We set the dimensions just in case but don't validate them
afterwards. For some codecs the dimensions are *not* in the
bitstream, IIRC VC1 in ASF mode for example.
https://bugzilla.gnome.org/show_bug.cgi?id=720568
2014-01-10 17:13:22 -05:00
Nicolas Dufresne
4a85f90c79
v4l2object: Quirks for dev without initial format
...
Most M2M have undefined behaviour initially when VIDIOC_G_FMT is called.
https://bugzilla.gnome.org/show_bug.cgi?id=720568
2014-01-10 17:13:22 -05:00
Nicolas Dufresne
080f58166e
v4l2object: Add gst_v4l2_object_open_shared()
...
https://bugzilla.gnome.org/show_bug.cgi?id=720568
2014-01-10 17:13:22 -05:00
Nicolas Dufresne
cf32d6ec43
v4l2object: Implement gst_v4l2_dup()
...
This will duplicated the FD from another object and copy over the probed result.
https://bugzilla.gnome.org/show_bug.cgi?id=720568
2014-01-10 17:13:22 -05:00
Nicolas Dufresne
7fd6dc08b9
v4l2object: make IO_MODE enum public
...
This is to allow adding a second io-mode property on M2M device like decoder so
input and output can be controlled separatly.
https://bugzilla.gnome.org/show_bug.cgi?id=720568
2014-01-10 17:13:22 -05:00
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