Commit graph

603 commits

Author SHA1 Message Date
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
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
Olivier Crête 4c782db81d rtpsirenpay: Remove deprecated symbol
Patch by: Luis Menina
2009-06-13 21:02:45 -04:00
Wim Taymans 6f3c1728f3 rtp: update README, fix some typos, mention gstrtpbin 2009-06-11 22:30:06 +02:00
Olivier Crête 645b9449a5 rtph263pay: Default to doing A, B and C modes, not only A 2009-06-10 16:09:56 -04:00
Olivier Crête dc61a71e5d rtpsirenpay: Put the bitrate in the RTP caps
The MS code seems to require the bitrate to interoperate and
draft-ietf-avt-rtp-g7221-00 also has it.
2009-06-09 14:13:31 -04:00
Edward Hervey 6eec2a060d rtp: Don't forget to dist the headers for the CELT (de)payloaders. 2009-06-08 08:21:43 +02:00
Wim Taymans ace2a84447 celtdepay: add CELT depayloader 2009-06-05 18:57:30 +02:00
Wim Taymans ec554a7f02 rtpceltpay: add CELT RTP payloader 2009-06-05 18:57:30 +02:00
Wim Taymans e7987ed06b vrawpay: trim output buffers
Remove the leftover unused bytes in the output buffer.
Fixes #584613
2009-06-02 19:33:28 +02:00
Wim Taymans dabddb8126 vrawdepay: fix parsing of sampling field
commit a12d9a80f2 broke the parsing of the
sampling.
2009-06-02 19:33:28 +02:00
Wim Taymans e13e3c6249 rtpmp4vpay: don't look for headers in some cases
In some streams (starting with 00000100) don't look for the headers but push
data as it is.
Fixes #582153
2009-05-25 10:59:17 +02:00
Wim Taymans d7fd42999e rtp: fix channel positions for mono 2009-05-21 22:05:09 +02:00
Sebastian Dröge d94a71a4c5 rtp: Link to -lm
Fixes bug #582281.
2009-05-12 13:00:46 +02:00
Wim Taymans a9e496d92f rtj2kdepay: add basic JPEG 2000 depayloader 2009-05-08 11:35:02 +02:00
Wim Taymans 5ec808cf7e rtpj2kpay: set marker bit correctly 2009-05-08 11:32:03 +02:00
Wim Taymans a4dfd61a77 rtpj2kpay: add a simple JPEG 2000 payloader 2009-05-08 10:38:42 +02:00
Wim Taymans ee1f1ae5d5 rtpjpegpay: we only need to swap bits on LE 2009-05-08 10:31:12 +02:00
Wim Taymans e2a483f0f9 rtpjpegpay: refuse some unsupported jpeg formats 2009-05-06 23:56:44 +02:00
Wim Taymans 4ef9eee8b4 rtptheorapay: fix description 2009-05-06 18:06:49 +02:00
Wim Taymans d87871f5f7 rtpjpegpay: rewrite quant table handling
Rewrite the quant table parsing to also handle multiple tables in one JPEG HDQ
segment.
Handle more jpeg types by keeping track of the tables used per component and
putting the used ones in the quant headers.
2009-05-06 16:11:49 +02:00
Wim Taymans b7c5847dbd rtpjpegpay: handle input with 1 quant table
Also handle input with just one quant table, simply duplicate the quant table.
Handle invalid SOF correctly and some small cleanups.
Fixes #578257
2009-05-06 12:56:58 +02:00
Wim Taymans 0f1033c59f rtpjpegpay: correctly set the type header
Don't require width/height on the caps. Use the SOF header to find width/height
and fall back to the caps if there is no SOF. Also use the SOF info to find the
subsampling and quantization tables used. This allows us to set the right type
value in the JPEG rtp header.

Deprecate the quality property, it's unused now and it was used wrongly before.

Always send full quant tables for now until we have some code to detect default
ones.

Fixes #580880
2009-05-05 16:32:17 +02:00
Wim Taymans 7c59f39bfe rtpjpegdepay: use width/height from payload
Use the width and the height from the payload headers and set them on the
output caps for added awesomeness.

Fix quant parsing, we need to check the type in the lower 6 bits.

Add first bits of caching quantization tables.
2009-05-05 16:28:44 +02:00
Wim Taymans f33501ad4b g726pay: fix compilation 2009-04-27 10:08:55 +02:00
Wim Taymans 84c3d1a2c8 g726pay: add RFC compliant packetizing
Shuffle the input bits according to RFC 3551 for G726 payloads.
Add option to force the previous behaviour.

Fixes #567140
2009-04-27 10:08:55 +02:00
Wim Taymans e213debe8e g726depay: add debug category
Add a debugging category, add some comments and remove _peek_parent().
2009-04-27 10:08:55 +02:00
Edward Hervey 1183015954 rtph263pay: And let's not forget to remove the unused variable. 2009-04-18 19:11:06 +02:00
Edward Hervey 1554c6637f rtph263pay: Remove dead assignments, the variables are never read after. 2009-04-18 18:51:30 +02:00
Edward Hervey 3efcf936e1 rtpmp4vpay: Remove dead assignment. The value is never read after. 2009-04-18 18:51:29 +02:00
Edward Hervey 84b6d07c75 rtpamrdepay: Remove unneeded variable, the value is only read once. 2009-04-18 18:51:29 +02:00
Edward Hervey f6b774fbcc rtpamrpay: Remove unneeded variable, the value is only read once. 2009-04-18 18:51:29 +02:00
Edward Hervey bf9c2067cf rtpvorbispay: Remove dead assignment. Value never read after. 2009-04-18 18:51:29 +02:00
Edward Hervey 58a7c2ad8d rtptheorapay: Remove dead assignment. Value never read after. 2009-04-18 18:51:29 +02:00
Edward Hervey 8cf696a1f1 rtptheoradepay: Remove unused variable, it's never being read. 2009-04-18 18:51:29 +02:00
Edward Hervey a12d9a80f2 rtpvrawdepay: Remove dead assignment.
The value of 'str' will never be used in these cases.
2009-04-18 18:51:28 +02:00
Edward Hervey 0cb5b42d54 Remove trivial unused variables detected by CLang static analyzer. 2009-04-18 18:51:28 +02:00
Edward Hervey cdb03bdc2b Remove blank {set|get}_property/change_state/finalize methods. 2009-04-18 18:51:27 +02:00
Edward Hervey 4a9e80720a Remove unused variables in _class_init
Detected by LLVM's CLang static analyzer
2009-04-18 18:51:27 +02:00
Edward Hervey f9d7640bc9 rtptheoradepay: Fix build on macosx.
Use G_GSIZE_FORMAT instead of u.
2009-04-18 08:39:57 +02:00
James Andrewartha ac48c2d211 rtph263pay: fix compilation on big-endian
Some semicolons were missing from the big-endian structs in gstrtph263pay.h.
A GST_DEBUG call was missing a format specifier.

Fixes #579069
2009-04-15 19:26:22 +02:00
Wim Taymans 787124dad6 g726depay: add property for aal2 force 2009-04-15 14:07:57 +02:00
Wim Taymans 0802ba8730 g726depay: implement RFC3551 packing
We implemented the AAL2 packing, add the encoding-name for those to the caps and
a property to force AAL2 decoding (always TRUE for now).
Implement RFC3551 unpacking for regular G726.
See #567140.
2009-04-15 13:56:17 +02:00
Wim Taymans c34d5aa016 rtph263pay: fix build 2009-04-15 00:22:43 +02:00
Youness Alaoui 17d9cb3319 h263pay: various fixes
Re-enable mode A support and a property to control it.
Fix memory leak of GstRtpH263PayBoundry objects.
Fix marker.
Fixes #509311
2009-04-14 18:52:48 +02:00
Janin Kolenc de2c489526 h263pay: Fix the payloader
Fix the H263 payloader to be more RFC 2190 compliant.
See #509311
2009-04-14 18:44:51 +02:00
Michael Smith 85d7fb0599 rtptheorapay: fix length encoding in packed headers.
As for vorbis payloader; this by inspection had the same bug.
2009-04-01 17:31:18 -07:00
Michael Smith 5f9d9e2243 rtpvorbispay: in packed headers, properly flag multibyte lengths.
In the sequence of header lengths, for headers >127 bytes, we use
multiple bytes to encode the length. Bytes other than the last must have
the top (flag) bit set.
2009-04-01 17:23:33 -07:00
Tim-Philipp Müller 6e5f789fa0 rtpmp4adepay: output should be framed already 2009-03-30 14:13:29 +01:00
Tim-Philipp Müller 4bcd50ccbd rtpmp4apay,rtpmp4depay: fix buffer leaks in AAC payloader and depayloader 2009-03-25 10:36:49 +00:00
Tim-Philipp Müller 297bbfbebc rtpmp4apay: warn if input is unframed 2009-03-25 10:36:49 +00:00
Tim-Philipp Müller fa3d457882 rtpmp4adepay: don't append an extra 0 byte to the codec data
The audioMuxVersion structure is packed in such a way that the codec
data does not start byte-aligned, which means there's an extra bit of
padding at the end. We don't want that bit in the codec data, since
some decoders seem get confused when they're fed with an extra codec
data byte (also it's just not right of course).
2009-03-20 01:06:14 +00:00
Wim Taymans f18dabdd57 rtph264depay: fix base64 decoding
We can't pass -1 to _decode_step, that functions returns 0 right away instead of
decoding up to the string end.
2009-03-19 13:25:57 +01:00
Sebastian Dröge 77e2637590 rtp: Use GLib functions for encoding/decoding base64 2009-03-18 14:50:17 +01:00
Edward Hervey 72a9b89b50 gstrtpvorbisdepay: Fix build on macosx 2009-03-10 10:16:27 +01:00
Wim Taymans 06efeff5d9 vorbisdepay: fix some leaks
And leak the codebooks.
Use glib base64 decoders.
Use subbuffers to avoid a memcpy of the headers.
2009-03-09 18:07:20 +01:00
Olivier Crête e4b8c514cc Move siren rtp pay/depay from gst-plugins-farsight 2009-03-04 13:24:34 -05:00
Wim Taymans 8b6c8b934a rtpmp4vpay: Add support for more formats
Hack around short header mpeg4 video files and put the short header as the
config string.
Fixes #572551.
2009-03-02 17:18:55 +01:00
Wim Taymans af2e8f8470 rtpvrawdepay: fail on interlaced video
Fail on interlaced video until we support it.
2009-02-26 13:06:17 +01:00
Wim Taymans 62d5787bcd rtpvrawpay: fail on interlaced video
Detect and fail when trying to payload interlaced video.
2009-02-26 13:00:58 +01:00
Tim-Philipp Müller b4115aa83e rtp: Fix compiler warning in h264 payloader
Fix an undefined behaviour warning from gcc 4.4.0

Patch By: Tim-Philipp Müller <tim.muller@collabora.co.uk>
Fixes: #570995
Signed-Off-By: Jan Schmidt <jan.schmidt@sun.com>
2009-02-24 17:59:29 +00:00
Wai-Ming Ho aeee52be05 Always add PPS to the sprop-parameters-set
Rework the parsing code that under certain circumstances dropped the PPS from
the sprop-parameters-set.
Fixes #572854.
2009-02-23 15:43:51 +01:00
Stefan Kost a99d3f8769 Update and add documentation for plugins with no deps (gst).
Link to properties. Correct titles for examples. Document a few trivial cases. Keep lists in section file and docs/plugins/Makefile.am alphabetically ordered.
2009-01-28 12:32:59 +02:00
Wim Taymans 1691683883 gst/rtp/gstrtpjpegdepay.c: Add an EOI marker at the end of the jpeg frame when it's missing.
Original commit message from CVS:
* gst/rtp/gstrtpjpegdepay.c: (gst_rtp_jpeg_depay_process):
Add an EOI marker at the end of the jpeg frame when it's missing.
Fixes #563056.
2008-12-09 14:19:16 +00:00
Wim Taymans 0e280fb120 gst/rtp/gstrtpmp4apay.c: Copy incomming timestamp to outgoing packets.
Original commit message from CVS:
* gst/rtp/gstrtpmp4apay.c: (gst_rtp_mp4a_pay_handle_buffer):
Copy incomming timestamp to outgoing packets.
2008-12-08 12:37:45 +00:00
Wim Taymans 90adf4b958 gst/rtp/gstrtpmp4vpay.c: Don't try to push packets before we could find a valid config startcode. Fixes #563509.
Original commit message from CVS:
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_flush),
(gst_rtp_mp4v_pay_event):
Don't try to push packets before we could find a valid config
startcode. Fixes #563509.
2008-12-08 12:36:21 +00:00
Wim Taymans 5e27695ca2 gst/rtp/: Fix the descriptions and fix some email addresses.
Original commit message from CVS:
* gst/rtp/gstasteriskh263.c:
* gst/rtp/gstasteriskh263.h:
* gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_setcaps):
* gst/rtp/gstrtpL16depay.h:
* gst/rtp/gstrtpL16pay.c:
* gst/rtp/gstrtpL16pay.h:
* gst/rtp/gstrtpac3depay.c: (gst_rtp_ac3_depay_setcaps):
* gst/rtp/gstrtpac3depay.h:
* gst/rtp/gstrtpamrdepay.c:
* gst/rtp/gstrtpamrdepay.h:
* gst/rtp/gstrtpamrpay.c:
* gst/rtp/gstrtpamrpay.h:
* gst/rtp/gstrtpdepay.c:
* gst/rtp/gstrtpdepay.h:
* gst/rtp/gstrtpdvdepay.c: (gst_rtp_dv_depay_setcaps):
* gst/rtp/gstrtpg726depay.c:
* gst/rtp/gstrtpg726pay.c:
* gst/rtp/gstrtpg729depay.c:
* gst/rtp/gstrtpg729pay.c:
* gst/rtp/gstrtpgsmdepay.c:
* gst/rtp/gstrtpgsmpay.c: (gst_rtp_gsm_pay_setcaps):
* gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_setcaps):
* gst/rtp/gstrtph263depay.h:
* gst/rtp/gstrtph263pay.c:
* gst/rtp/gstrtph263pay.h:
* gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_setcaps):
* gst/rtp/gstrtph263pdepay.h:
* gst/rtp/gstrtph263ppay.c:
* gst/rtp/gstrtph263ppay.h:
* gst/rtp/gstrtph264depay.c:
* gst/rtp/gstrtph264depay.h:
* gst/rtp/gstrtph264pay.c:
* gst/rtp/gstrtph264pay.h:
* gst/rtp/gstrtpilbcdepay.c:
* gst/rtp/gstrtpilbcpay.c:
* gst/rtp/gstrtpjpegdepay.h:
* gst/rtp/gstrtpmp1sdepay.c: (gst_rtp_mp1s_depay_setcaps):
* gst/rtp/gstrtpmp1sdepay.h:
* gst/rtp/gstrtpmp2tdepay.c: (gst_rtp_mp2t_depay_setcaps):
* gst/rtp/gstrtpmp2tdepay.h:
* gst/rtp/gstrtpmp2tpay.c:
* gst/rtp/gstrtpmp2tpay.h:
* gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_setcaps):
* gst/rtp/gstrtpmp4apay.c:
* gst/rtp/gstrtpmp4apay.h:
* gst/rtp/gstrtpmp4gdepay.c: (gst_rtp_mp4g_depay_setcaps):
* gst/rtp/gstrtpmp4gdepay.h:
* gst/rtp/gstrtpmp4gpay.c:
* gst/rtp/gstrtpmp4gpay.h:
* gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_setcaps):
* gst/rtp/gstrtpmp4vdepay.h:
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_event):
* gst/rtp/gstrtpmp4vpay.h:
* gst/rtp/gstrtpmpadepay.c:
* gst/rtp/gstrtpmpadepay.h:
* gst/rtp/gstrtpmpapay.c:
* gst/rtp/gstrtpmpapay.h:
* gst/rtp/gstrtpmpvdepay.c:
* gst/rtp/gstrtpmpvdepay.h:
* gst/rtp/gstrtppcmadepay.c: (gst_rtp_pcma_depay_process):
* gst/rtp/gstrtppcmapay.c:
* gst/rtp/gstrtppcmudepay.c:
* gst/rtp/gstrtppcmupay.c:
* gst/rtp/gstrtpspeexdepay.c:
* gst/rtp/gstrtpspeexpay.c:
* gst/rtp/gstrtpsv3vdepay.c:
* gst/rtp/gstrtpsv3vdepay.h:
* gst/rtp/gstrtptheoradepay.c:
* gst/rtp/gstrtptheoradepay.h:
* gst/rtp/gstrtptheorapay.c:
* gst/rtp/gstrtptheorapay.h:
* gst/rtp/gstrtpvorbisdepay.c:
* gst/rtp/gstrtpvorbisdepay.h:
* gst/rtp/gstrtpvorbispay.c: (gst_rtp_vorbis_pay_finish_headers):
* gst/rtp/gstrtpvorbispay.h:
* gst/rtp/gstrtpvrawdepay.c: (gst_rtp_vraw_depay_setcaps):
* gst/rtp/gstrtpvrawpay.c:
Fix the descriptions and fix some email addresses.
2008-11-25 18:03:02 +00:00
Wim Taymans 5c9ebea381 gst/rtp/: Add a jpeg depayloader.
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpjpegdepay.c: (gst_rtp_jpeg_depay_base_init),
(gst_rtp_jpeg_depay_class_init), (gst_rtp_jpeg_depay_init),
(gst_rtp_jpeg_depay_finalize), (MakeTables), (MakeQuantHeader),
(MakeHuffmanHeader), (MakeDRIHeader), (MakeHeaders),
(gst_rtp_jpeg_depay_setcaps), (gst_rtp_jpeg_depay_process),
(gst_rtp_jpeg_depay_change_state),
(gst_rtp_jpeg_depay_plugin_init):
* gst/rtp/gstrtpjpegdepay.h:
Add a jpeg depayloader.
* gst/rtp/gstrtpjpegpay.c:
Set the default properties on the payloader to better defaults.
2008-11-14 18:41:29 +00:00
Bjorn Ostby d8e74cabdc gst/rtp/: Add JPEG payloader. Fixes #560756.
Original commit message from CVS:
Patch by: Bjorn Ostby <bjornos at axis dot com>
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpjpegpay.c: (gst_rtp_jpeg_pay_base_init),
(gst_rtp_jpeg_pay_class_init), (gst_rtp_jpeg_pay_init),
(gst_rtp_jpeg_pay_setcaps), (gst_rtp_jpeg_pay_header_size),
(gst_rtp_jpeg_pay_read_quant_table),
(gst_rtp_jpeg_pay_scan_marker), (gst_rtp_jpeg_pay_handle_buffer),
(gst_rtp_jpeg_pay_set_property), (gst_rtp_jpeg_pay_get_property),
(gst_rtp_jpeg_pay_plugin_init):
* gst/rtp/gstrtpjpegpay.h:
Add JPEG payloader. Fixes #560756.
2008-11-14 11:41:55 +00:00
Yotam bfb73112af gst/rtp/gstrtpmp4vpay.c: Flush the remaining frames on EOS. Fixes #560641.
Original commit message from CVS:
Patch by: Yotam <sh dot yotam at gmail dot com>
* gst/rtp/gstrtpmp4vpay.c: (gst_rtp_mp4v_pay_event):
Flush the remaining frames on EOS. Fixes #560641.
2008-11-13 14:04:40 +00:00
Jan Schmidt 5bb87818b2 gst/rtp/gstrtpg729pay.c: Fix compiler warning about printf formatting.
Original commit message from CVS:
* gst/rtp/gstrtpg729pay.c: (gst_rtp_g729_pay_handle_buffer):
Fix compiler warning about printf formatting.
2008-11-12 16:37:06 +00:00
Wim Taymans 4c62e33eac gst/rtp/gstrtpg729pay.c: Don't ignore the return value of setcaps.
Original commit message from CVS:
* gst/rtp/gstrtpg729pay.c: (gst_rtp_g729_pay_set_caps):
Don't ignore the return value of setcaps.
2008-11-11 17:33:00 +00:00
Olivier Crete 774f238b96 gst/rtp/gstrtpg729pay.*: Replace G729 payloader with an improved version. Fixes #532409.
Original commit message from CVS:
Patch by: Olivier Crete <tester at tester dot ca>
* gst/rtp/gstrtpg729pay.c: (gst_rtp_g729_pay_base_init),
(gst_rtp_g729_pay_class_init), (gst_rtp_g729_pay_init),
(gst_rtp_g729_pay_set_caps), (gst_rtp_g729_pay_handle_buffer):
* gst/rtp/gstrtpg729pay.h:
Replace G729 payloader with an improved version. Fixes #532409.
2008-11-11 17:29:03 +00:00