Josep Torra
eaee14aff4
rtph264depay: only guess AU boundaries when aren't indicated by marker
...
The marker bit isn't mandatory and we had in place code to guess AU
boundaries by detecting a new picture start. This guessing code
didn't work with interlaced content that has proper marker bits
to indicate the AU boundaries. It was leaking the first field buffer
and producing a corrupted output.
fixes: https://bugzilla.gnome.org/show_bug.cgi?id=728041
2014-04-12 04:42:36 +02:00
Wim Taymans
db90f6e68d
h264depay: init debug category early
...
Init the debug variable when we register the element because it is also used by
the payloader element when it calls the add_sps_pps method.
2013-08-16 17:12:19 +02:00
Olivier Crête
742b90747d
rtph264depay: Make the SPS/PPS deduplication function generic
...
Make it not touch any internals of the depayloader
https://bugzilla.gnome.org/show_bug.cgi?id=705553
2013-08-13 10:38:23 -04:00
Wim Taymans
1516c14881
Revert "rtph264pay/depay: Add frame dimensions a payloaded caps"
...
This reverts commit 3dca756a5d
.
The H264 RTP spec has no attributes for width and height.
2013-05-31 15:11:12 +02:00
Wim Taymans
b79d217396
Revert "rtph264pay/depay: Add optional framerate caps for use in SDP"
...
This reverts commit d8825e2a5c
.
There is no framerate attribute in the h264 RTP spec.
2013-05-31 15:09:51 +02:00
Sebastian Rasmussen
d8825e2a5c
rtph264pay/depay: Add optional framerate caps for use in SDP
...
This allows for applications to format SDP attributes and still do SDP
offer/answer based on caps negotiation.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:17 +02:00
Sebastian Rasmussen
3dca756a5d
rtph264pay/depay: Add frame dimensions a payloaded caps
...
This allows for applications to format SDP attributes and still do SDP
offer/answer based on caps negotiation.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700749
2013-05-23 21:04:11 +02:00
Marc Leeman
bab2f3c92b
rtp: remove payload requirements from selected depayloaders
...
encoding name is required in the caps and is a better fit for autoplugging than
the pt value. Hardware manufacturers have a bad habit of skimming through RFCs
and in this case; use unassigned numbers for encoders instead of dynamic
numbers.
In essence, this patch will add support for a lot of Bosch hardware encoders
without breaking autoplugging.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=639292
2013-01-28 12:23:41 +01:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Wim Taymans
0ed9e07c5d
h264depay: small cleanups
2012-07-25 12:49:07 +02:00
Tim-Philipp Müller
cd1da84bcc
rtph264depay: remove deprecated "byte-stream" and "access-unit" properties
...
These will be picked automatically based on downstream caps now, so
if you want the depayloader to output a specific format, make sure
the element downstream advertises that preference or use a capsfilter
after the depayloader to force it.
2012-07-06 14:46:22 +01:00
Thiago Santos
78ec03e32f
Some printf variable format fixes
...
The osx compiler complains about those
2012-06-05 17:53:57 -03:00
Tim-Philipp Müller
e09ae5736d
Use new gst_element_class_set_static_metadata()
2012-04-10 00:51:41 +01:00
Wim Taymans
69002aa24f
update for buffer changes
2012-03-28 12:53:05 +02:00
Olivier Crête
06f1c1817e
rtph264depay: Make output in AVC stream format work even without complete sprop-parameter-set
...
This allows outputting streams in AVC format even if the SPS/PPS are sent inside
the RTP stream.
https://bugzilla.gnome.org/show_bug.cgi?id=654850
Ported from master
2012-03-22 16:18:37 -04:00
Wim Taymans
745210e792
h264depay: unmap on empty packet
2012-03-13 19:26:23 +01:00
Wim Taymans
e4fed38f49
rtp: fix unmap calls
2012-03-13 17:27:32 +01:00
Wim Taymans
225e98d623
Merge branch 'master' into 0.11
...
Conflicts:
ext/flac/gstflacenc.c
ext/jack/gstjackaudioclient.c
ext/jack/gstjackaudiosink.c
ext/jack/gstjackaudiosrc.c
ext/pulse/plugin.c
ext/shout2/gstshout2.c
gst/matroska/matroska-mux.c
gst/rtp/gstrtph264pay.c
2012-02-10 16:23:14 +01:00
Tim-Philipp Müller
6872b40873
rtph264depay: add stream-format and alignment fields to src template caps
...
Because we can. And so we get a warning if we try to output avc with
nal alignment or somesuch.
https://bugzilla.gnome.org/show_bug.cgi?id=606662
2012-02-10 14:08:55 +00:00
Pascal Buhler
c16fed2ad9
rtph264depay: Exclude NALu size from payload length on truncated packets.
...
https://bugzilla.gnome.org/show_bug.cgi?id=667846
2012-01-30 15:49:07 +00:00
Wim Taymans
583d39dd8d
update for new memory API
2012-01-25 12:30:28 +01:00
Vincent Penquerc'h
c0e101e93f
various: fix pad template leaks
...
https://bugzilla.gnome.org/show_bug.cgi?id=662664
2011-11-28 13:30:27 +00:00
Wim Taymans
249d0083cc
update for base class rename
2011-11-11 12:25:01 +01:00
Wim Taymans
9c14280b1d
make some more things compile again
2011-10-27 19:00:52 +02:00
Wim Taymans
87fbd1e784
Merge branch 'master' into 0.11
...
Conflicts:
common
ext/pulse/pulsesink.c
ext/soup/gstsouphttpclientsink.c
gst/audioparsers/gstaacparse.c
gst/audioparsers/gstac3parse.c
gst/rtp/gstrtph264depay.c
gst/rtpmanager/gstrtpjitterbuffer.c
gst/rtpmanager/rtpjitterbuffer.c
gst/rtsp/gstrtspsrc.c
sys/ximage/gstximagesrc.c
2011-09-28 12:44:59 +02:00
Mark Nauwelaerts
fd757890eb
rtph264depay: improve downstream flow return feedback to upstream
...
... although basertpdepay does not really make it easy/possible to do so
all the way.
2011-09-20 14:14:39 +02:00
Wim Taymans
ee2aa25e04
port to new API
2011-08-03 18:37:27 +02:00
Wim Taymans
4121021bb2
Merge branch 'master' into 0.11
...
Conflicts:
ext/pulse/pulsesink.c
ext/pulse/pulsesrc.c
gst/audioparsers/gstac3parse.c
gst/rtp/gstrtph264depay.c
gst/rtp/gstrtph264pay.c
gst/rtpmanager/gstrtpssrcdemux.c
2011-08-03 18:25:30 +02:00
Sjoerd Simons
4c73439ee3
rtph264depay: Cope with FU-A E bit not being set
...
Some h264 payloaders are unfortunately buggy and don't correctly set the
E bit in FU-A NAL when they have ended. Work around this by assuming
such a fragmentation unit has ended when there was no packet loss and a
new NAL is started
2011-07-27 18:18:13 +01:00
Olivier Crête
2591a882ae
rtph264depay: Complete merged AU on marker bit
...
The marker bit on a RTP packet means the AU has been completed, so push it out
immediately to reduce the latency.
https://bugzilla.gnome.org/show_bug.cgi?id=654850
2011-07-21 17:11:08 +02:00
Mark Nauwelaerts
471904032d
rtph264depay: reset upon FLUSH_STOP
...
... which is particularly needed when merging NAL units, where not resetting
would lead to output of an older (pre-flush) AU (with unintended timestamp).
2011-07-18 14:32:26 +02:00
Wim Taymans
9a54175e9f
rtp: port to 0.11
2011-06-13 16:33:46 +02:00
Tim-Philipp Müller
693b3b7e0b
h264depay: don't leak codec data buffer in byte-stream=true mode
...
https://bugzilla.gnome.org/show_bug.cgi?id=640063
2011-01-20 14:10:55 +00:00
Wim Taymans
f4155f3cf3
rtp: add RTP hint to the klass
2010-12-21 17:23:03 +01:00
Wim Taymans
f357e09ac1
rtp: fix rank of payloaders and depayloaders
...
Set the payloaders and depayloaders to a reasonable rank.
2010-12-21 17:22:58 +01:00
Mark Nauwelaerts
4c368242c0
rtph264depay: determine output h264 layout using caps negotiation
...
... thereby (partially) deprecating properties currently controlling whether
or not byte-stream output or NAL/AU alignment (though properties still determine
fallback if nothing specified in caps).
Fixes #606662 .
2010-12-17 15:38:27 +01:00
Thijs Vermeir
e7b1655069
rtph264depay: fix segfault on empty payload
...
https://bugzilla.gnome.org/show_bug.cgi?id=635843
2010-11-26 23:33:40 +00:00
Wim Taymans
706731b331
rtph264depay: only set delta unit on all-non-key units
...
Only set the delta flag when all of the units in the packet are delta units.
Based on patch from Olivier Crête <olivier.crete@collabora.co.uk>
Fixes #632945
2010-11-01 15:09:05 +01:00
Wim Taymans
9f8b56b974
h264depay: always mark the codec_data as keyframe
...
We need to mark the codec_data as a keyframe or else downstream decoders might
decide to skip it, waiting for a keyframe.
Fixes #631996
2010-10-13 11:48:49 +02:00
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
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
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
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
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
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
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
Stefan Kost
e0cdd879b4
build: fprintf, sprintf, sscanf need stdio.h
2009-10-07 14:03:20 +03: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