Commit graph

423 commits

Author SHA1 Message Date
Mark Nauwelaerts
220f865f77 rtpmp4vpay: add config-interval parameter to re-insert config in stream
Add a new config-interval property to instruct the payloader to insert
config (VOSH, VOS, etc) at periodic intervals in the stream
(when a GOP or VOP-I is encountered).

Based on patch by <marc.leeman at gmail.com>

Fixes #607452.
2010-05-04 11:19:43 +02:00
Tim-Philipp Müller
c1d24699f5 rtp: fix printf format of some debug messages 2010-05-01 11:25:26 +01:00
Mark Nauwelaerts
be5ffd96fe rtptheoradepay: also accept in-band configuration
Fixes #574416 (theora).
2010-04-30 13:54:56 +02:00
Mark Nauwelaerts
a344cfba27 rtpvorbisdepay: also accept in-line configuration
Fixes #574416 (vorbis).
2010-04-30 13:54:52 +02:00
Olivier Crête
7bc3253761 rtptheoradepay: Ignore packets without a known codebook
Don't produce an error if a packet is received without a valid codebook,
it's possible that the codebook will just be coming later.

See #574416.
2010-04-30 13:54:50 +02:00
Mark Nauwelaerts
6bf7f5cfd3 rtph264depay: DELTA_UNIT marking of output buffers
... which evidently makes (most) sense if output buffers are
actually frames.

Partially based on a patch by
Miguel Angel Cabrera <mad_aluche at hotmail.com>

Fixes #609658.
2010-04-30 13:50:03 +02:00
Mark Nauwelaerts
0206b67b1d rtph263depay: extra keyframe info from PTYPE header
... as opposed to taking it from h263 payload header, which need not
be so reliable.

Fixes #610172.
2010-04-30 13:50:00 +02:00
Mark Nauwelaerts
fe9e6d82ee rtph263depay: also use Picture Start Code to detect packet loss
This ensures a whole frame is dropped if a (start) packet is lost,
rather than relying only on the DISCONT flag.
2010-04-30 13:49:57 +02:00
Mark Nauwelaerts
84ac277add rtph263depay: detect frame start using Picture Start Code
So we stop dropping fragments as soon as there is a picture start (code).
In particular, this prevents dropping the first frame following
initial DISCONT.
2010-04-30 13:49:54 +02:00
Mark Nauwelaerts
e7903311f5 rtph263depay: handle a few FIXMEs 2010-04-30 13:49:51 +02:00
Mark Nauwelaerts
3692bbb7ae rtph263depay: slightly refactor payload dropping 2010-04-30 13:49:47 +02:00
Mark Nauwelaerts
a08f76a92e rtph263pay: use found GOBs to apply Mode A payloading
... rather than falling back to sending the whole frame in one packet
if number of GOB startcodes < maximum.
One might take this further and still perform Mode B/C payloading,
but at least this should cater for decent fragments in typical cases.

Fixes #599585.
2010-04-30 13:49:43 +02:00
Wim Taymans
754007b344 qcelpdepay: add first version of a QCELP depayloader 2010-04-29 18:07:10 +02:00
Mark Nauwelaerts
e053a89c21 rtph264depay: profile-level-id is an optional parameter
So, if needed, extract the corresponding info from
sprop-parameter-sets.

Based on patch provided by <dxssx at gmail.com>

Fixes #612657.
2010-04-16 12:14:26 +02:00
Stefan Kost
6772badb88 docs: enable the 2 of 65 rtp elements in the docs 2010-04-08 17:19:41 +03:00
Marco Ballesio
2ff1558a87 h264depay: handle properly STAPs
in rtph264depay.c, lines 577-576, NALU-type 24 (Single-Time Aggregation
Packet) is handled in fall-through as NALU-type 26 (unhandled).

This leads high quality h264 streams such as:

rtsp://stream.yle.mobi/yle/areena/MEDIA_E0342657_p3.mp4

to fail with "NAL unit type 24 not supported yet" (but it's actually
supported), and thus to close any stream which contains STAPs.

The proposed one-liner patch fixes the issue.
Fixes #615051.
2010-04-07 16:17:06 +03:00
Benjamin Otte
412cc10314 Add -Wold-style-definition flag
And fix the warnings
2010-03-21 15:17:46 +01:00
Benjamin Otte
3f511ec361 Add -Wwrite-strings to the configure flags
... and fix all warnings
2010-03-21 14:17:47 +01:00
Wim Taymans
b019a78ab8 h264pay: fix config-interval property
Use the same units for comparing the elapsed time against the interval.

Fixes #613013
2010-03-19 17:13:07 +01:00
Tim-Philipp Müller
073201b329 build: Makefile.am cleanups
Mostly add $(GST_BASE_CFLAGS) where it was missing, but also fix up
order of flags and libs if needed (see docs/random/moving-plugins).
2010-03-18 21:34:24 +00:00
Benjamin Otte
cccfeaa59c gst_element_class_set_details => gst_element_class_set_details_simple 2010-03-18 14:32:00 +01:00
Mark Nauwelaerts
fd5164af96 rtph264depay: do not call _push_ts with unneeded (and wrong) time parameter
Fixes #613206.
2010-03-18 12:43:14 +01:00
Benjamin Otte
1055aaa9cb Add -Wredundant-decls warning flag
Also fix compile issues
2010-03-17 19:35:10 +01:00
Benjamin Otte
3342b1679e Add -Wmissing-declarations -Wmissing-prototypes warning flags
And fix all the warnings.
2010-03-17 18:23:28 +01:00
Wim Taymans
7e363149f3 mp4gdepay: improve constantDuration guessing
When no constantDuration has been given in the caps, try to derive one from the
timestamp difference between packets. Also keep doing this for each packet
because some broken streams might simply provide wrong timestamps.
2010-03-17 16:27:13 +01:00
Wim Taymans
cabe01ef95 Revert "rtph263depay: baseclass handles timestamps for us"
This reverts commit 564581e1b8.

If we don't call push_ts, there will be no timestamp at all on the outgoing
buffer.

Fixes #612154
2010-03-08 17:48:27 +01:00
Wim Taymans
968c981e74 h263pay: fix typo in debug 2010-03-08 17:47:14 +01:00
Wim Taymans
3a09d334a0 rtpmp4gdepay: avoid division by 0
Avoid a division by 0 when no constantDuration was specified and when out two
timestamps are equal.

Fixes #610265
2010-02-23 12:58:03 +01:00
Wim Taymans
e43839eae9 dvdepay: don't output frames until we have a header
Wait for the complete first 6 header DIF packets before outputting a frame.
Decoders need this info to correctly decode the data.

Fixes #610556
2010-02-23 12:54:36 +01:00
Wim Taymans
ad6d4540a7 rtppay: don't ignore result from set_outcaps
set_outcaps can fail and we need to propagate the result upstream.
2010-02-12 13:53:58 +01:00
Mark Nauwelaerts
71e35b2bf3 rtpspeexpay: fix occasional buffer leak
Fixes #608255.
2010-01-27 17:05:34 +01:00
Olivier Crête
9afc247906 rtpg729pay: ptime should is in nanoseconds
https://bugzilla.gnome.org/show_bug.cgi?id=607403
2010-01-21 10:54:14 +01:00
Wim Taymans
1f6b06ce66 rtph264pay: scale spspps_interval to milliseconds
The spspps_interval is kept in seconds. Convert it to milliseconds before
comparing it to another value in milliseconds.
2010-01-20 16:29:57 +01:00
Wim Taymans
95333115cd rtph264pay: rename spspps-interval property
Rename the spspps-interval property to config-interval because it is nicer.
2010-01-20 15:44:40 +01:00
Olivier Crête
c4fa559f15 rtph264pay: Don't set profile-level-id in out caps
The profile-level-id represents restrictions on what can be sent, it does not
describe the stream. So it should be reflected in the sink caps of the
payloader, not the src caps.

https://bugzilla.gnome.org/show_bug.cgi?id=607353
2010-01-19 13:47:38 +01:00
Olivier Crête
7a0590b1f1 rtph264pay: Don't ignore the return value from set_outcaps
https://bugzilla.gnome.org/show_bug.cgi?id=607353
2010-01-19 13:35:37 +01:00
Thiago Santos
fa32e08d91 rtpmp4g(de)pay: Only handle raw aac
rtpmp4g(de)pay should only handle raw AAC streams
2010-01-11 15:46:50 -03:00
Thiago Santos
c563dd7eb2 rtpmp4a(de)pay: Only accept raw aac
rtpmp4a(de)pay should only handle raw aac to conform to the RFC
2010-01-11 15:00:00 -03:00
Wim Taymans
ed22a97478 rtph264pay: remove weird memcmp code
Use plain memcmp for comparing memory instead of the custom buggy one.

Fixes #606198
2010-01-07 17:00:20 +01:00
Wim Taymans
4c1947045e rtpg728pay: remove unused adapter peek 2010-01-06 13:45:59 +01:00
Olivier Crête
63a9db5826 rtpg729pay: Simplify adapter usage
https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:23:26 -05:00
Olivier Crête
0a18587792 rtpg729pay: Support ptime from caps
https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:23:26 -05:00
Olivier Crête
321829f595 rtp: Add maxptime to the README
https://bugzilla.gnome.org/show_bug.cgi?id=606050
2010-01-05 13:23:26 -05:00
Wim Taymans
b32ddfc174 rtpg723depay: add G723 depayloader 2010-01-05 19:03:06 +01:00
Wim Taymans
ca7ecdf2f3 rtpg729depay: remove unused variable 2010-01-05 19:02:39 +01:00
Wim Taymans
d6d06630e8 rtpg723pay: rewrite payloader
Handle all 3 packet sizes according to RFC 3551.
Totally untested, we don't have a G723 encoder.

Fixes #605882
2010-01-05 18:33:25 +01:00
Wim Taymans
59dc9dac03 rtph263ppay: use faster _adapter_copy() whem possible 2009-12-24 17:01:54 +01:00
Mark Nauwelaerts
05307c46e7 rtph264pay: fix uninitialized variable 2009-12-23 19:39:05 +01:00
Wim Taymans
9f098b352b rtp: use boilerplate 2009-12-23 13:09:54 +01:00
Wim Taymans
2ee7f58416 rtpL16pay: convert to baseaudiopayload
Use GstRTPBaseAudioPayload as the base class. This saves a lot of code and fixes
a bunch of problems that were already solved in the base class.

Fixes #853367
2009-12-23 00:38:05 +01:00