Commit graph

473 commits

Author SHA1 Message Date
Wim Taymans
f5c65a919f rtph264depay: refactor and simplify AU merging
Move the processing of the NALU to a separate method.
Simplify the merging of NALU into AU and use common code when possible.
2010-09-22 12:41:23 +02:00
Wim Taymans
9cc24e1b94 rtppay: some printf format fixes 2010-09-17 11:07:02 +02:00
Wim Taymans
604c6555a4 rtpjpegpay: cleanups for DRI markers
Protect against invalid DRI markers.
do some cleanups
2010-09-13 17:31:35 +02:00
American Dynamics
0f3151c73b gstrtpjpegpay: Added Define Restart Interval (DRI) Marker
Added ability to detect and respond to a JPEG-defined DRI marker
2010-09-13 16:47:23 +02:00
Mark Nauwelaerts
d8a27ebe3e rtpmparobustdepay: fix some mis-implementation
Also add some debug.
2010-09-10 13:26:43 +02:00
Mark Nauwelaerts
81773f9cce rtpmparobustdepay: properly insert dummy buffers 2010-09-10 13:26:31 +02:00
Stefan Kost
d569cd8195 mp4adepay: small logging cleanup and addition to debug config parsing 2010-09-09 21:49:43 +03:00
Wim Taymans
de4a7fc4c4 rtpjpegpay: improve debugging 2010-09-09 18:48:53 +02:00
Mark Nauwelaerts
075afb6693 rtpmparobustdepay: use valid bitrate for dummy frame 2010-09-09 16:33:29 +02:00
Sebastian Dröge
640cb863d4 rtpjpegpay: Fix uninitialized variable compiler warning
Fixes bug #629018.
2010-09-08 07:13:42 +02:00
Wim Taymans
2ed53fd77f rtpjpegpay: do some more sanitity checks
Protect some more against invalid input.
2010-09-07 16:40:08 +02:00
American Dynamics
a482677a14 jpegpay: handle corrupted jpeg better
Protect against corrupted jpeg input.
2010-09-07 15:20:12 +02:00
Wim Taymans
474c013051 rvawdepay: cleanup unused fields 2010-09-07 13:56:54 +02:00
Wim Taymans
6be0c7b762 vrawdepay: handle invalid payload better
Make sure we don't read more data than available in the input buffer.
Clip the input data into the output buffer.
2010-09-07 13:56:53 +02:00
Stefan Kost
988f228da7 rtpmp4adepay: grab the sampling arte and put into caps
This is needed to be able to mux the received audio into mp4 (in the case of
aac). Fixes #625825.
2010-09-06 21:54:25 +03:00
Tim-Philipp Müller
22560c473d rtp: mark constant tables as const 2010-09-06 14:40:02 +01:00
Mark Nauwelaerts
2953801a5f rtpamrpay: properly support perfect-rtptime 2010-09-06 14:47:05 +02:00
Mark Nauwelaerts
275e352a2e rtpamrpay: proper duration for multiple frame payload 2010-09-06 14:47:02 +02:00
Mark Nauwelaerts
f5bbc56745 rtpamr(de)pay: support AMR-WB SID frame 2010-09-06 14:46:59 +02:00
Mark Nauwelaerts
d1974e386a rtpg729pay: properly support perfect-rtptime 2010-09-06 14:46:56 +02:00
Wim Taymans
fadade4d4a jpegdepay: handle DISCONT and reset state
Put a DISCONT event on the next output buffer when the input buffer had a
DISCONT.
Make sure we clear our adapter and reset our state before going to PAUSED.
Free the qtables.

Fixes #626869
2010-09-06 10:23:07 +02:00
Wim Taymans
3ec0d6b245 g729pay: extend from right parent 2010-09-06 10:23:07 +02:00
Wim Taymans
af70b300cc rtpmp4gpay: implement perfect timestamps
Use bitreader for parsing the config string
Reset state variables when going to READY
Parse frame length and use it to keep track of the rtptimestamps
2010-08-04 10:40:24 +02:00
Wim Taymans
29b32853d5 rtph263pdepay: allow more clock-rates as input
Although the spec says that the clock-rate should always be 90000, some rtsp
servers send different clock-rates so we must accept then in order to handle
those streams too.
2010-08-04 10:40:24 +02:00
Wim Taymans
d37c5e9021 L16depay: default to 1 channel
When we can't find any channel or encoding-params on the caps for dynamic
payload types, set the default number of channels to 1, as the spec says we
should.

See #623209
2010-08-04 10:40:24 +02:00
Wim Taymans
ed80c1834c L16depay: use encoding-params for the channels
When parsing the number of channels, use the encoding-params property from the
RTP caps because that is where we can find the channels according to the spec.
Fall back to the channels property in the caps when needed.

Fixes #623209
2010-08-04 10:39:44 +02:00
Mark Nauwelaerts
f1fe0e7157 rtpg729pay: avoid basertppayload perfect-rtptime mode
G729 packets may only occur intermittently (e.g. cn packets), and as such
do not allow for perfect-rtptime calculating rtp times based on frame or byte
count.  In particular, do not use rtp audio base payloader as base class, but
rather base payloader directly.
2010-08-02 13:05:05 +02:00
Mark Nauwelaerts
6405df0c50 rtph264pay: fix element leak 2010-08-02 13:04:41 +02:00
Mark Nauwelaerts
fadff26eec rtpmp4vdepay: fix buffer leak 2010-08-02 13:04:39 +02:00
Mark Nauwelaerts
6a9c70486f rtph264depay: tweak DELTA_UNIT labeling
Consider SPS, PPS and IDR as keyframe, all others as DELTA_UNIT.

See #620154.
2010-06-16 15:53:45 +02:00
Mark Nauwelaerts
dde3825405 rtph264depay: also consider AU and SEI NALUs as DELTA_UNIT
Fixes #620154.
2010-06-14 11:49:42 +02:00
Stefan Kost
a1da36d5a6 build: include stdio.h for sscanf 2010-06-12 21:26:16 +03:00
Tim-Philipp Müller
97a2111c58 rtpmparobustdepay: don't try to unref NULL buffers
Fixes generic/states unit test.
2010-06-11 21:18:52 +01:00
Mark Nauwelaerts
815e06ba55 rtp: add mpa-robust depayloader
Fixes #589997.
2010-06-11 11:45:48 +02:00
Sjoerd Simons
c39e82a1ce Cope with short startcodes in the h264 bytestream 2010-06-07 10:28:06 +02:00
Tristan Matthews
8e0adba996 gstrtpceltpay: don't always fixate sink caps to 1 channel
The getcaps function should not fixate the channels field until we
get the encoding-params field from our srcpad's caps. Fixes #620591
2010-06-05 10:02:35 +02:00
Sjoerd Simons
952fd666b3 Keep announcing the delivery-method in the capabilities
Even though we don't use delivery-method in our payloader, older versions of
the theora payloader in gstreamer required it. As such we need to keep this
around in the caps for backwards-compatibility.

This reverts part of 49463a37cb

Fixes #618940
2010-06-03 18:47:40 -04:00
Wim Taymans
ffc06e17f0 mp4gdepay: calculate the frame duration correctly
When we calculate the frame duration, we need to use the amount of
frames in the _previous_ packet, not the current packet. The frame duration is
needed to correctly de-interleave interleaved streams. This fixes the case where
there are a variable number of frames in a packet.

Fixes #620494
2010-06-03 19:39:04 +02:00
Wim Taymans
49463a37cb rtptheora: remove delivery-method from caps
We can accept all delivery methods so don't advertise anything on the caps or
parse anything, we will handle whatever we receive.

Fixes #618940
2010-05-25 18:53:48 +02:00
Olivier Crête
28f509fdca rtptheoradepay: make delivery-method parameter optional
It probably will not be in the final RFC as it is not in RFC 5215 for Vorbis.
If there is a configuration specified, assume it is in-line and if nothing is
specified, assume it is in-band.

https://bugzilla.gnome.org/show_bug.cgi?id=618386
2010-05-13 12:22:36 +02:00
Wim Taymans
3e4bc043a5 celtpay: fix queue duration calculations
Don't blindly add the durations of incomming buffers to the total queued
duration because it might be invalid. Mark the total queued duration invalid
when we receive an invalid incomming timestamp because that's when we lose track
of the total queued duration.

Fixes #618324
2010-05-13 11:30:27 +02:00
Mark Nauwelaerts
4cff2e2c67 rtph264pay: extract SPS and PPS from property provided parameter set
... so it can also be regularly inserted into the stream if so configured.

Fixes #617164.
2010-05-12 10:24:10 +02:00
Tim-Philipp Müller
c209a6ab40 rtp: dist missing header file to fix make distcheck 2010-05-11 20:26:37 +01:00
Olivier Crête
34d0d59142 rtph264pay: Re-send SPS/PPS when requested
https://bugzilla.gnome.org/show_bug.cgi?id=606689
2010-05-10 15:07:09 +02:00
Mark Nauwelaerts
90311e522f rtph264pay: fix typo in debug message 2010-05-10 13:35:55 +02:00
Mark Nauwelaerts
af6fc84377 rtptheorapay: add config-interval parameter to re-insert config in stream
Add a new config-interval property to instruct the payloader to insert
configuration headers at periodic intervals in the stream
(when a keyframe is countered).
2010-05-10 13:35:52 +02:00
Mark Nauwelaerts
14b14fdf7a rtptheoradepay: fix in-band configuration parsing
Also make configuration header parsing a bit more relaxed with respect
to length field interpretation.
2010-05-10 13:35:50 +02:00
Mark Nauwelaerts
b899afaeb6 rtpvorbisdepay: fix in-line configuration parsing
Also make configuration header parsing a bit more relaxed with respect
to length field interpretation.
2010-05-10 13:35:48 +02:00
Mark Nauwelaerts
7bd3943bb9 rtptheorapay: do not discard downstream flow return 2010-05-10 13:35:44 +02:00
Mark Nauwelaerts
53928a74fa rtptheorapay: refactor buffer payloading 2010-05-10 13:35:41 +02:00