Mark Nauwelaerts
53928a74fa
rtptheorapay: refactor buffer payloading
2010-05-10 13:35:41 +02:00
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
Wim Taymans
cdb8c718bb
rtppcmapay: the boilerplate macro sets parent_class
2009-12-23 00:30:49 +01:00
Wim Taymans
251401aef1
rtph263depay: add some fixmes
2009-12-22 14:41:35 +01:00
Wim Taymans
564581e1b8
rtph263depay: baseclass handles timestamps for us
2009-12-22 14:35:13 +01:00
Wim Taymans
27ff4a8a47
rtph263depay: reset start variable properly
2009-12-22 14:27:40 +01:00
Marco Ballesio
74b3439374
Drop the whole frame if a packet is lost.
...
Fixes #582575
2009-12-22 11:48:52 +01:00
Wim Taymans
4687199348
rtph264pay: add option to insert PPS/SPS in streams
...
Add a new spspps-interval property to instruct the payloader to insert
SPS and PPS at periodic intervals in the stream.
Rework the SPS/PPS handling so that bytestream and AVC sample code both use the
same code paths to handle sprop-parameter-sets. This also allows to have the AVC
code to insert SPS/PPS like the bytestream code.
Fixes #604913
2009-12-21 20:45:54 +01:00
Tiago Katcipis
908a9ee63b
rtp: add G723 payloader
...
Fixes #597823
2009-12-17 17:27:42 +01:00
Mark Nauwelaerts
e49e71a1d9
rtph264depay: optionally merge NALUs into Access Units
...
... which may be expected/desired by some downstream decoders
(and spec-wise highly recommended for at least non-bytestream mode).
2009-11-26 17:29:26 +01:00
Wim Taymans
8c3b03de26
rtp: add BroadcomVoice depayloader
2009-11-18 10:50:43 +01:00
Wim Taymans
039d225a78
rtpbvpay: add rfc reference
2009-11-18 10:50:43 +01:00
Wim Taymans
02476fb5a3
rtp: add BroadcomVoice payloader
2009-11-18 10:50:43 +01:00
Gabriel Millaire
773f142483
celtpay/depay : change GST_DEBUG_OBJECT to GST_LOG_OBJECT in pay_handle_buffer and depay_process
2009-11-04 12:02:50 -05:00
Gabriel Millaire
ac90398092
celtpay/depay: Negotiate parameters through caps
...
celtdepay : added default framesize(480) channels(1) and clockrate(32000)
depay_setcaps : now gets channels and framesize from string with default value
depay_process : now adds timestamp to outbuf
Added frame_size to GstRtpCeltDepay
Changed some GST_DEBUG to GST_DEBUG_OBJECT or GST_LOG_OBJECT
celtpay : getcaps : gets channel and framesize and sets caps
Added frame-size to static caps for audio/x-celt
2009-11-04 12:02:50 -05:00
Stefan Kost
f854836f5c
buikd: explicitely cast, to tell some compilers that this is not long int
2009-10-09 14:21:09 +03:00
Stefan Kost
f41d7e7bd5
build: don't cast, but use the right format specified instead
...
This correct some of the previous macos fixes.
2009-10-09 13:54:24 +03:00
Josep Torra
863233abf5
rtpvrawpay: fix warning on macosx
2009-10-09 12:01:10 +02:00
Josep Torra
a1fbe64317
rtph263pay: fix warning on macosx
2009-10-09 11:57:59 +02:00
Stefan Kost
e0cdd879b4
build: fprintf, sprintf, sscanf need stdio.h
2009-10-07 14:03:20 +03:00
Stefan Kost
d1d126b5b4
rtp: add missing include to fix the build
2009-10-02 18:25:16 +03:00
Olivier Crête
00db9a585b
rtpg729pay/depay: Demote per-buffer debug messages to log level
2009-09-30 20:36:05 -04:00
Olivier Crête
165516f0ef
rtpg729pay: Don't leak incoming buffers after subbuffering them
2009-09-30 20:36:05 -04:00
Olivier Crête
680c97a7ca
rtpg729pay/depay: Add debug categories
2009-09-30 20:36:05 -04:00
Olivier Crête
1ba7693f7a
rtpg729pay: Remove long unneeded define replacement
2009-09-30 20:36:05 -04:00
Olivier Crête
750387f520
rtpg729pay: Fix adapter leak
...
The adapter would be leaked if it was empty and the data could be pushed out directly.
2009-09-15 17:24:24 -04:00
Olivier Crête
411c71da13
rtph263pay: Allocate Boundry structs on the stack instead of the heap to avoid leaks
...
Fixes bug #594691 .
2009-09-11 07:31:38 +02:00
Havard Graff
6108024838
rtpjpegdepay: add missing math.h include
...
Fixes #594247
2009-09-08 13:32:51 +02:00
Wim Taymans
bf73a6ee3a
rtpmpapay: whitespace fixes
2009-09-03 19:17:00 +02:00
Mark Nauwelaerts
c9a434bbff
rtpmp4gdepay: consider (optional) auxiliary data when parsing
2009-08-31 16:50:01 +02:00
Mark Nauwelaerts
30efa405f3
rtpmp4gdepay: handle broken AU-Index in non-interleaved streams
...
In case of non-interleaved (= sequentially payloaded) streams,
the AU-Index serves little purpose (that is not already covered by
RTP fields). (Broken) Payloaders might consider this field then
to be disregarded and have non spec compliant values, e.g. each
RTP packet having AU-Index 2 (rather than 0). As such, ensure/force
simple sequential sending of non-interleaved streams.
2009-08-31 16:50:01 +02:00
Wim Taymans
6a53d0a2c9
rtp: whitespace fixes
2009-08-31 11:32:06 +02:00
Edward Hervey
0d6f0801f5
rtp: Remove dead assignments and resulting unneeded variables.
2009-08-10 09:58:33 +02:00
Wim Taymans
ddfa9961c6
rtph264pay: use array instead of queue
2009-08-06 11:14:44 +02:00
Mark Nauwelaerts
2bfb42c5f8
rtph264pay: push NALs only after SPS/PPS
...
parse complete (bytestream) buffer for SPS/PPS before pushing NALs.
Fixes #564501 .
2009-08-06 11:14:44 +02:00
Edward Hervey
d65d542e9d
rtpqdm2depay: Fix debug statement.
2009-08-04 11:17:17 +02:00
Edward Hervey
20c7977b9b
rtpqdm2depay,rtpsv3vdepay: Add debugging category.
2009-08-03 21:26:31 +02:00
Edward Hervey
25c5514fab
rtpqdm2depay: Handle gaps in incoming packets.
...
Whenever we see a gap, we flush the temporary packets (but not the adapter). If we
had some data temporarily stored it will be outputted (the sound will sound a bit
garbled... but that's how it sounds on MacOSX :)
2009-08-03 21:26:30 +02:00
Edward Hervey
6aff520a24
rtpqdmdepay: Fix CRC calculation and remove commented code.
2009-08-03 21:26:30 +02:00
Edward Hervey
d39c057e42
rtp: New QDM2 rtp depayloader.
...
Reverse-engineered by comparing:
* A rtp hinted file provided by DarwinStreamingServer
* The output procued by DSS for that same file
Also used various streaming sources available on the internet to fine-tune
the code.
The header/codec_data extraction methods are from FFMpeg (LGPL).
2009-08-03 21:26:30 +02:00
Edward Hervey
e2b3665ae6
rtpsv3vdepay: Properly fill codec_data and cleanup code a bite more.
2009-08-03 21:26:30 +02:00
Edward Hervey
65a2871e90
rtpsv3vdepay: Only output buffers once we're configured.
2009-08-03 21:26:30 +02:00
Edward Hervey
1743763c0b
rtpsv3vdepay: Add more encoding-name variants
2009-08-03 21:26:30 +02:00
Luc Deschenaux
654ca56d85
jpegdepay: use attributes for extra properties
...
Use some of the SDP attributes when they are present to specify the output
dimension and framerate. This allows us to receive jpeg frames larger than
2040 width/height.
Fixes #564437
2009-08-03 18:02:31 +02:00
Wim Taymans
efb9c17975
RTP docs: update with attributes in caps
2009-08-03 18:01:27 +02:00
Edward Hervey
050e91995e
rtpsv3depay: Fix width/height calculation, bring up to marginal rank.
...
Based on documentation found on http://wiki.multimedia.cx/
2009-07-29 13:39:08 +02:00
Marc Leeman
7484b631b7
mpvpay: Rework the timestamping
...
Rework the timestamping in the mpv payloader so that the timestamps are more
accurate.
Fixes #587680
2009-07-13 17:55:25 +02:00
Ognyan Tonchev
83a0e7d2a3
rtpmp4vpay: add support for buffer-list
...
See #585559
2009-06-19 18:00:35 +02:00
Ognyan Tonchev
d5d0364d7b
rtpjpegpay: add support for buffer-lists
...
See #585559
2009-06-19 17:57:12 +02:00
Ognyan Tonchev
40ec22788f
rtph264pay: add support for buffer-lists
...
See #585559
2009-06-19 17:53:32 +02:00
Wim Taymans
a2cef3e5c2
mp4gdepay: guess constantDuration better
...
Do a better job at guessing the constantDuration parameter when it is not
present in the caps.
Fixes #585205
2009-06-15 22:42:45 +02:00