Martin Storsjö
c82bf15dca
rtpenc: Merge the h264 and hevc packetizers
...
They share a great deal of common structure; only a few minor
bits in the headers differ.
This also fixes an off-by-one in sending of the last fragment
of large HEVC nals (where it previously sent len+2 bytes, even
if it should have been len+RTP_HEVC_HEADERS_SIZE aka len+3).
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:43 +02:00
Martin Storsjö
3567b91e49
rtpdec_hevc: Share the implementation of fragmented packets with h264
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:28 +02:00
Martin Storsjö
f3449062a8
rtpdec_hevc: Reduce indentation level by returning early on errors
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:21 +02:00
Martin Storsjö
8633fb47db
rtpdec_hevc: Share the implementation of parsing a=framesize with h264
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:36 +02:00
Martin Storsjö
5956f489d0
rtpdec_hevc: Add asterisks at the start of each long comment line
...
This is the common style for such comments.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:27 +02:00
Martin Storsjö
5d8cae4573
rtpdec: Get rid of all trivial .alloc/.free functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:24:19 +02:00
Martin Storsjö
e72605f80b
rtpdec: Allow allocating and freeing the private data without explicit functions
...
This can reduce the amount of boilerplate in simple depacketizers.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:23:37 +02:00
Martin Storsjö
2b982e92f4
rtpdec: Set need_parsing via a handler field
...
This avoids implementing a full function just to set this one
field.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:41 +02:00
Martin Storsjö
b7a4c319fd
rtpdec: Allow setting the need_parsing field in RTPDynamicProtocolHandler
...
This allows getting rid of quite a bit of boilerplate in depacketizers.
The default value (initializing need_parsing to 0, aka
AVSTREAM_PARSE_NONE) is the same as it is initialized to by default
in AVStream.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:21 +02:00
Martin Storsjö
b651c9139e
rtpdec_mpa_robust: Move .enc_name to the start of the struct
...
This makes it match the other depacketizers.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:22:04 +02:00
Martin Storsjö
db158f0dd2
rtpdec: Remove unnecessary _if_needed suffixes on functions
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:21:54 +02:00
Martin Storsjö
353b492d0f
rtpdec: Change enc_name to a pointer instead of a fixed-size buffer
...
This avoids allocating space for a too large buffer for all the
name strings.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:21:18 +02:00
Martin Storsjö
0752f700d6
rtpdec_h264: Remove an unnecessary include
...
Nothing in this file use any network functions.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:54 +02:00
Martin Storsjö
247764a592
rtpdec_h264: Remove unnecessary struct padding
...
There's no point in adding padding in the allocation of a depacketizer
specific context struct.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:44 +02:00
Martin Storsjö
fe414059ec
rtpdec_amr: Use the common indentation style
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:23 +02:00
Martin Storsjö
74d318f138
rtsp: Fix the indentation of a linewrapped statement
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:10 +02:00
Martin Storsjö
3cd5828fc0
rtpdec: Add missing trailing commas
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:20:02 +02:00
Gilles Chanteperdrix
04a1be8e28
libavformat: add T.140 RTP depacketization (RFC 4103)
...
Map this to AV_CODEC_ID_TEXT.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:19:44 +02:00
Martin Storsjö
26524e3581
rtsp: Interpret the text media type as AVMEDIA_TYPE_DATA
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:19:37 +02:00
Clément Bœsch
cc69ccb6d4
avformat/nutdec: fix isom and mpa build deps
...
Fixes the following link error:
nutdec.c:(.text+0x2d47): undefined reference to `ff_codec_movvideo_tags'
isom.c:(.text+0x332): undefined reference to `avpriv_mpeg4audio_get_config'
isom.c:(.text+0x39e): undefined reference to `avpriv_mpa_freq_tab'
2015-02-24 11:22:47 +01:00
Michael Niedermayer
4d1b017c38
avformat/mov: Check av_add_index_entry() return value
...
Fixes NULL pointer dereference
Fixes: signal_sigsegv_b060e0_3794_cov_1293954059_vc1-wmapro.ism
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 22:48:35 +01:00
Michael Niedermayer
83f18410bd
Merge commit 'cdcc370293a159c321e41af7f0eef141c62d698d'
...
* commit 'cdcc370293a159c321e41af7f0eef141c62d698d':
rtsp: punch holes again after pause
See: 22bb5bd7a3b55c25bfef130ad89e8574dd47af1d
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:43:18 +01:00
Michael Niedermayer
596f81c75b
Merge commit 'fe208ca54b0d3b6bbe1c660d371bb2cc6cf40ffc'
...
* commit 'fe208ca54b0d3b6bbe1c660d371bb2cc6cf40ffc':
rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units
Conflicts:
libavformat/rtpdec_hevc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 21:01:44 +01:00
Michael Niedermayer
6c9537b807
avformat/hlsenc: Warn if a non file protocol is used
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 16:53:36 +01:00
Gilles Chanteperdrix
cdcc370293
rtsp: punch holes again after pause
...
When a client behind a NAT issues a pause command, and stay paused for a
long time, the router may stop the RTP/RTCP port redirection. Resend the
hole punching packets before each PLAY command to cause the router to
restart the port redirection in that case.
Move the existing code for sending the packets from the SETUP phase
to the PLAY phase.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-23 16:55:56 +02:00
Martin Storsjö
fe208ca54b
rtpdec_hevc: Skip 1 byte (DOND) instead of 2 (DONL) between aggregation units
...
Only the first aggregation unit has 2 bytes (DONL) prepended, if
such a field is in use.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-23 15:33:20 +02:00
Michael Niedermayer
2cf521718d
Merge commit '35c6ce76b107225a19eb33aea38857d2405882af'
...
* commit '35c6ce76b107225a19eb33aea38857d2405882af':
Canopus HQX decoder
Conflicts:
Changelog
libavcodec/avcodec.h
libavcodec/version.h
tests/fate/video.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 12:19:26 +01:00
Michael Niedermayer
fab8b88a5e
Merge commit 'a388e72d1a6b0888cc1591cb699f61a9c1089cf4'
...
* commit 'a388e72d1a6b0888cc1591cb699f61a9c1089cf4':
rtpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 00:29:50 +01:00
Michael Niedermayer
17c52d746c
Merge commit 'e2220e734f3d01145ef9aefbd7b6ff29a89ae159'
...
* commit 'e2220e734f3d01145ef9aefbd7b6ff29a89ae159':
rtpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-23 00:13:23 +01:00
Michael Niedermayer
db4a2976f6
Merge commit 'c99915f7c74ce1249d8633cb6fd09035b8d84db7'
...
* commit 'c99915f7c74ce1249d8633cb6fd09035b8d84db7':
rtpdec: DV depacketizer (RFC 6469)
Conflicts:
Changelog
libavformat/Makefile
libavformat/rtpdec_dv.c
libavformat/version.h
See: cbe508553ad17b277d4cb6f12f61aac4f52908b8
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 23:54:34 +01:00
Vittorio Giovara
35c6ce76b1
Canopus HQX decoder
...
Based on work by Kostya Shishkov <kostya.shishkov@gmail.com>.
2015-02-22 22:42:27 +00:00
Martin Storsjö
a388e72d1a
rtpenc_hevc: Aggregate multiple NAL units into one RTP packet, if possible
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:27:03 +02:00
Martin Storsjö
e2220e734f
rtpenc_h264: Aggregate multiple NAL units into one RTP packet, if possible
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:26:57 +02:00
Thomas Volkert
c99915f7c7
rtpdec: DV depacketizer (RFC 6469)
...
(tested with live555 RTSP server)
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:01:55 +02:00
Michael Niedermayer
3518925a91
avformat/movenc: Check for memory allocation failures
...
Fixes CID1271049
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 20:20:13 +01:00
Michael Niedermayer
40adcf576f
avformat/oggdec: Check for ost allocation failure
...
Fixes CID1257798
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 19:21:53 +01:00
Michael Niedermayer
9b8152bf04
avformat/oggdec: Check for av_malloc() failure and forward the error code
...
Fixes CID1257805
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 17:53:35 +01:00
Michael Niedermayer
5683810302
avformat/rmenc: Check for av_malloc() failure
...
Fixes CID1257832
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 17:47:40 +01:00
Gilles Chanteperdrix
22bb5bd7a3
avformat/rtsp: punch holes again after pause
...
When a client behind a NAT issues a pause command, and stay paused for a
long time, the router may stop the RTP/RTCP port redirection. Resend the
hole punching packets after each PLAY command to cause the router to
restart the port redirection in that case.
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 14:09:26 +01:00
Michael Niedermayer
20f5a17956
Merge commit '44dc138ed29c4dfbaf57ebc774da4c75ef113ca4'
...
* commit '44dc138ed29c4dfbaf57ebc774da4c75ef113ca4':
rtpdec_mpeg4: reassemble fragmented AAC frames
Conflicts:
libavformat/rtpdec_mpeg4.c
See: fee2cc39becb1930461dff267389717337804a4a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:59:44 +01:00
Michael Niedermayer
1186e7cf95
Merge commit '96084251e57d1738fde02a2b0d37ca609d9efd71'
...
* commit '96084251e57d1738fde02a2b0d37ca609d9efd71':
libavformat: add robust MPEG audio depacketization (RFC 5219)
Conflicts:
Changelog
libavformat/version.h
See: 22470510d1f9441e848bbe107c7963b6d492b47f
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:30:17 +01:00
Gilles Chanteperdrix
fee2cc39be
avformat/rtpdec_mpeg4: reassemble fragmented AAC frames
...
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:56:18 +01:00
Michael Niedermayer
17384b1719
Merge commit '5e5583efe41662294c5e1b76499ba338557f808d'
...
* commit '5e5583efe41662294c5e1b76499ba338557f808d':
libavformat: add AC3 RTP depacketization (RFC 4184)
Conflicts:
Changelog
libavformat/rtpdec_ac3.c
libavformat/version.h
See: 3eec775b211c5fd00300e2042ae8f116293e5d55
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:48:27 +01:00
Michael Niedermayer
285eea0001
Merge commit '4438d1c6ede3190d7920513272fb9dc5371648f2'
...
* commit '4438d1c6ede3190d7920513272fb9dc5371648f2':
rtsp: parse lang attribute in SDP
Conflicts:
libavformat/rtsp.h
libavformat/version.h
See: c7ad1f562b0fe46b77a8a9987a0d3512fc8197ea
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:36:53 +01:00
Michael Niedermayer
b0b7571a52
Merge commit 'ff394ca087d41941d2157e7a4e356e3ad312494e'
...
* commit 'ff394ca087d41941d2157e7a4e356e3ad312494e':
rtpdec_h264: Add a missing closing paren in a log message
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 00:15:10 +01:00
Gilles Chanteperdrix
44dc138ed2
rtpdec_mpeg4: reassemble fragmented AAC frames
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:38:07 +02:00
Gilles Chanteperdrix
dcf969e98d
rtpdec_mpeg4: add more verbose error logging
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:58 +02:00
Gilles Chanteperdrix
96084251e5
libavformat: add robust MPEG audio depacketization (RFC 5219)
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:50 +02:00
Gilles Chanteperdrix
5e5583efe4
libavformat: add AC3 RTP depacketization (RFC 4184)
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:32 +02:00
Gilles Chanteperdrix
4438d1c6ed
rtsp: parse lang attribute in SDP
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:24 +02:00