Commit graph

13973 commits

Author SHA1 Message Date
Wim Taymans
224239096d rtspsrc: skip streams with same control url
Keep track of what streams we did the SETUP for. We only need to
configure caps, wait for pads and push events on setup streams. We can
remove the disabled state of the stream and simplify some checks.
After we setup a stream, skip the other streams that have the same
control url. Use a skipped flag to mark streams that should be skipped.
2014-03-06 12:30:54 +01:00
Wim Taymans
3b27fc2f0f rtspsrc: remove obsolete code 2014-03-06 12:30:54 +01:00
Wim Taymans
27d883fe64 rtspsrc: just use the SDP index as the stream id
Use the index of the media stream in the SDP as the stream id instead of
keeping a separate counter.
2014-03-06 12:30:54 +01:00
Thijs Vermeir
e96f0c03ef osxvideo: fix build on Mac OSX Mavericks and put new window in front
GetCurrentProcess/SetFrontProcess/TransformProcessType was deprecated
and now removed in Mac OSX 10.9. orderFrontRegardless is used to make
the video window the most front window.
2014-03-05 20:35:31 +01:00
Christian Fredrik Kalager Schaller
b2bf1f1882 Add docs directory to spec file 2014-03-05 17:35:56 +01:00
Wim Taymans
99a9d2873c rtspsrc: handle NULL control urls better 2014-03-05 15:44:25 +01:00
Wim Taymans
d2f93e3afc session: small cleanups
It's nicer to explicitly check for NULL on pointer types to make it
clear that it's a pointer and not a boolean.
2014-03-05 14:28:26 +01:00
Wim Taymans
5818a0de1a session: handle unknown SSRC in FIR
https://bugzilla.gnome.org/show_bug.cgi?id=725712
2014-03-05 14:27:47 +01:00
Alessandro Decina
c4bf6e8b7e rtspsrc: fix seeking
Call gst_rtspsrc_connection_flush (src, FALSE) to reset connections as
non-flushing before sending PAUSE and PLAY with the new npt range. Without this
patch, those commands would fail with EINTR as the connections were still
flushing.
2014-03-05 11:39:09 +01:00
Thiago Santos
fd12ff4c29 avidemux: expose xsub as a subtitle instead of as a video
It is placed inside a 'vids' struct, so it was being exposed on
a pad named video_%d. XSUB are subtitles and this patch adds
an special case for it to be exposed in a subpicture_%d pad
2014-03-04 20:29:45 -03:00
Thiago Santos
dee861630a avidemux: do not try to add a tag with tag_name set to NULL
This can happen if there are subtitles in the stream, leading to
an assertion
2014-03-04 20:29:45 -03:00
Wim Taymans
70de0e4e99 rtspsrc: Add support for multiple payload types
A media stream can have multiple payload types. Parse all the payload
types and collect the caps information. We then have to store the
pt<->caps mapping instead of 1 pt and 1 caps.
Parse the profile from the SDP and use that to negotiate the transport
instead of always using AVP.
Rework how we do some tweaks for ASF and Realmedia.
2014-03-04 16:40:34 +01:00
Wim Taymans
dbe92c9147 rtspsrc: refactor payload handling 2014-03-04 11:34:39 +01:00
Wim Taymans
b4caf09011 jitterbuffer: fix buffer level with invalid DTS
It is possible that the DTS is invalid (when we receive RTP packets from
TCP, for example). As a fallback, use the reconstructed PTS value to
calculate the buffer level.
2014-03-03 11:34:00 +01:00
Sebastian Rasmussen
53d0741347 .gitignore: Ignore gcov intermediate files
https://bugzilla.gnome.org/show_bug.cgi?id=725480
2014-03-03 00:00:52 +00:00
Sebastian Dröge
a812071e7f Automatic update of common submodule
From fe1672e to bcb1518
2014-02-28 09:34:46 +01:00
Thiago Santos
0443c2593a Revert "aacparse: put codec data on caps for loas format"
This reverts commit e459cf3e01.

This was pushed by accident, the bug should likely be fixed in
libav https://bugzilla.libav.org/show_bug.cgi?id=644
2014-02-27 23:15:04 -03:00
Thiago Santos
04bd422432 jpegdec: mark all parsed frames as sync points
all jpeg frames are sync points, so mark them as such so
reverse playback can properly work with the video decoder
base class

https://bugzilla.gnome.org/show_bug.cgi?id=725104
2014-02-27 19:08:15 -03:00
Thiago Santos
e459cf3e01 aacparse: put codec data on caps for loas format
gst-libav audio decoder also needs codec data for LOAS format, otherwise
it will complain about not having a decoder config and skip all packets

https://bugzilla.gnome.org/show_bug.cgi?id=596772
2014-02-27 17:10:03 -03:00
Tim-Philipp Müller
f3163fb45f matroskademux: align raw audio memory to powers of two
https://bugzilla.gnome.org/show_bug.cgi?id=725008
2014-02-27 00:46:39 +00:00
Tim-Philipp Müller
c3dc53e551 matroskademux: calculate alignment properly for audio depths not a multiple of 8 2014-02-27 00:46:39 +00:00
Matej Knopp
d33b4dce63 matroskademux: fix crash with 24-bit raw audio
Do not try to align audio buffers to odd numbers,
which will get us a NULL buffer which we then
crash on.

https://bugzilla.gnome.org/show_bug.cgi?id=725008
2014-02-27 00:46:28 +00:00
Tim-Philipp Müller
5bad2d8b70 rtpmanager: re-enable -Werror 2014-02-27 00:12:13 +00:00
Tim-Philipp Müller
1d7f5c7a83 rtpjitterbuffer: fix compiler warning
gstrtpjitterbuffer.c: In function 'gst_rtp_jitter_buffer_loop':
gstrtpjitterbuffer.c:2978:3: error: 'result' may be used uninitialized in this function
   while (result == GST_FLOW_OK);
   ^
2014-02-27 00:11:11 +00:00
Stefan Sauer
6b13fd56ea Automatic update of common submodule
From 1a07da9 to fe1672e
2014-02-26 22:11:41 +01:00
Sebastian Dröge
d4bdf5a1b1 rtpjitterbuffer: Fix uninitialized variable compiler warning 2014-02-26 21:11:23 +01:00
Jake Foytik
6dd9142592 rtpjitterbuffer: Remove raw comparisons of RTP sequence numbers
Several conditional statements perform comparison on RTP sequence
numbers without taking the sequence number rollover into account.
Instead, use the gst_rtp_buffer_compare_seqnum function to perform the
comparison.

https://bugzilla.gnome.org/show_bug.cgi?id=725159
2014-02-26 21:11:21 +01:00
Sebastian Rasmussen
1a91ab31d1 tests: Don't build disabled plugins' check tests
https://bugzilla.gnome.org/show_bug.cgi?id=723502
2014-02-26 21:07:57 +01:00
Stefan Sauer
c886d78f6d docs: install prebuilt plugin docs if gtk-doc is disabled
Sync to the Makefile.am from gst-plugin-base where it is done right.
Fixes #725034
2014-02-26 11:31:44 +01:00
Hugues Fruchet
a2d00122ed v4l2object: do not emit "parsed" caps for vp8
VP8 doesn't require parsing (vp8parse doesn't exist, so negotiation with demux fails
if "parsed" is set in caps).

https://bugzilla.gnome.org/show_bug.cgi?id=724636
2014-02-25 16:11:23 -05:00
Nicolas Dufresne
82f2bf052a v4l2: Don't require parser for VP8
Until GStreamer has one (see bug722760), we should not require a parser for VP8.

https://bugzilla.gnome.org/show_bug.cgi?id=722128
2014-02-25 14:29:11 -05:00
Nicolas Dufresne
a1db7e8c6c v4l2: CAPTURE_MPLANE is well tested now
https://bugzilla.gnome.org/show_bug.cgi?id=722128
2014-02-25 14:29:10 -05:00
Benjamin Gaignard
2a870d7d9b v4l2videodec: Create one element per device
For each videoCdevice probe it input/output capabilities
if it match with video decoder requirement register a new element.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>

https://bugzilla.gnome.org/show_bug.cgi?id=722128
2014-02-25 14:29:10 -05:00
Nicolas Dufresne
bd51c37196 v4l2videodec: Calculate latency from device information
Decoders or other devices that expose a minimum buffers required produce
an first output. We use this information to calculate latency.

https://bugzilla.gnome.org/show_bug.cgi?id=722128
2014-02-25 14:29:10 -05:00
Nicolas Dufresne
61183670c0 v4l2videodec: Implement v4l2videodec
Implement an element that can driver V4L2 M2M decoder device.

https://bugzilla.gnome.org/show_bug.cgi?id=722128
2014-02-25 14:29:10 -05:00
Göran Jönsson
53ffd9e1ca rtph264pay: only update last_spspps time if all sps/pps got sent successfully
This fixes an issue with gst-rtsp-server where no sps and pps are
sent for the first intra frame, because the payloader starts working
already when receiving DESCRIBE but there is no transports so it tries
to send sps and pps, but that fails with a FLUSHING flow. But the time
for last sent sps and pps would still be set, so when PLAY arrives and
the first intra frame is to be sent there is no sps and pps sent due to
that time since last sps pps is less than spspps_interval.

https://bugzilla.gnome.org/show_bug.cgi?id=724213
2014-02-25 10:48:24 +00:00
Santiago Carot-Nemesio
b9a953161f rtspsrc: Fix deadlock when task creation is no successful
https://bugzilla.gnome.org/show_bug.cgi?id=725124
2014-02-25 10:10:31 +01:00
Stefan Sauer
fdb5d460de autodetect: demote candidate error to warning and plug fake{sink,src}
In the case where we have no suitable candidate we post a warning and plug a
fake-element. Do the same when non of the candidate work.

This is more consistent and plugin the fakesink as a fallback is probably
helpful for running unit tests without requiring hardware src/sink elements.

Fixes #722981
2014-02-23 20:34:43 +01:00
Mark Nauwelaerts
433d4f902d v4l2: make some more controls configurable
... at least if one tries hard enough using extra-controls property.
2014-02-23 13:06:43 +01:00
Dan Kegel
3d9f175d5e v4l2: Require mplanar support for now in configure
The code fails to compile without currently, see
https://bugzilla.gnome.org/show_bug.cgi?id=723446

It's better to disable it instead of failing compilation
until this is fixed properly.
2014-02-23 10:39:20 +01:00
Stefan Sauer
117fa7c3e4 jack: add some simple log handlers for jack
Add log handlers for jack that write to the gst debug log. This avoids spamming
the console when e.g. using autoaudiosink, having the jack elements installed,
but not running jack.
2014-02-23 00:17:00 +01:00
Mark Nauwelaerts
43a9c7652b v4l2src: handle old and odd driver behaviour when listing controls 2014-02-22 21:31:43 +01:00
Darryl Gamroth
7a65277119 audiofxbaseiirfilter: check if coefficients are provided inside filter lock
https://bugzilla.gnome.org/show_bug.cgi?id=719524
2014-02-22 20:01:41 +01:00
Tim-Philipp Müller
5535a824a4 v4l2src: also unset INTERLACED flag on buffers if frame is not interlaced
https://bugzilla.gnome.org/show_bug.cgi?id=724899
2014-02-21 19:48:42 +00:00
Simon Farnsworth
b4820460d8 v4l2src: Flag interlaced buffers as interlaced.
We correctly indicate the field ordering on interlaced buffers, but fail to
flag them as containing interlaced video, which we need to do here because
we signal interlace-mode=mixed in our caps. This means that downstream
elements (like vaapipostproc from gstreamer-vaapi) don't recognise these
buffers as in need of deinterlacing.

Fix this by setting the interlaced flag on all interlaced buffers.

Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>

https://bugzilla.gnome.org/show_bug.cgi?id=724899
2014-02-21 19:48:06 +00:00
Reynaldo H. Verdejo Pinochet
0898de65c8 aacparse: be more strict at ADTS header parsing
Adds two extra checks:

- Sampling frequency on header can't be 15.
- Frame size should be at least 9 or 7, depending
  on whether CRC protection is present.

https://bugzilla.gnome.org/show_bug.cgi?id=724638
2014-02-21 15:04:11 -03:00
Reynaldo H. Verdejo Pinochet
c3a4bb1657 aacparse: make sure we have enough ADTS data
We need at least 6 bytes to pass over to _get_frame_len()
but we were just checking for a minimum of 2 bytes for the
syncword.

https://bugzilla.gnome.org/show_bug.cgi?id=724638
2014-02-21 15:04:11 -03:00
Stefan Sauer
0566ea06e5 autodetect: check if the kid has a sync property
previously autovideosrc did not have a sync property and v4l2src has none either.
2014-02-20 22:52:57 +01:00
Stefan Sauer
bf6a2f9afd autodetect: use a common baseclass
This makes the actual elements super simple. We're using the ELEMENT_FLAG to
configure source/sink and a string for the Audio/Video type.
2014-02-20 21:28:43 +01:00
Aleix Conchillo Flaqué
62f5a27416 rtspsrc: add tls-database property
Add support for a new property: tls-database. If the property is set,
the certificate database will be given to the rtsp connection if TLS
protocol is being used. If the server certificate can't be verified with
the default database, this additional database will be used.

https://bugzilla.gnome.org/show_bug.cgi?id=724396
2014-02-20 20:03:40 +01:00