Commit Graph

81 Commits

Author SHA1 Message Date
Luca Barbato
8034130e06 rtp: set the payload type as stream id
Support multiple video/audio streams with different format in the
same session.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-11-14 20:38:51 +01:00
Martin Storsjö
c136a813d7 rtp: Support packetization/depacketization of opus
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-09 11:57:11 +03:00
Anton Khirnov
716d413c13 Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat 2012-10-08 07:13:26 +02:00
Dmitry Samonenko
490ae95aa8 rtpenc: Add support for packetizing speex
This packetization scheme simply places the full packets into the
RTP packet without any extra header bytes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-26 19:04:57 +03:00
Samuel Pitoiset
cee1950bbb rtp: Packetization of JPEG (RFC 2435) 2012-09-23 21:58:41 +03:00
Martin Storsjö
d4bba93f4d sdp: Use static const char arrays instead of pointers to strings
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 22:35:17 +03:00
Martin Storsjö
06b5246c84 sdp: Include profile-level-id for H264
This is required for playback with the Stagefright RTSP framework
on Android.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 19:32:19 +03:00
Anton Khirnov
36ef5369ee Replace all CODEC_ID_* with AV_CODEC_ID_* 2012-08-07 16:00:24 +02:00
Martin Storsjö
579fd87b46 rtpenc: Support packetizing iLBC
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 22:01:04 +03:00
Martin Storsjö
d77f4afa98 rtpenc: Allow requesting H264 RTP packetization mode 0
This requires all NAL units to fit within single RTP packets. It
doesn't change the actual packetization for packets that fit, but
errors out and gives a helpful hint if the NAL units would have to
be split, and signals the right packetization mode in the SDP.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-06-18 12:27:56 +03:00
Diego Biurrun
a92be9b856 Replace memset(0) by zero initializations.
Also remove one pointless zero initialization in rangecoder.c.
2012-03-28 09:38:33 +02:00
Martin Storsjö
c4584f3c1f rtpenc: Allow packetizing H263 according to the old RFC 2190
According to newer RFCs, this packetization scheme should only
be used for interfacing with legacy systems.

Implementing this packetization mode properly requires parsing
the full H263 bitstream to find macroblock boundaries (and knowing
their macroblock and gob numbers and motion vector predictors).

This implementation tries to look for GOB headers (which
can be inserted by using -ps <small number>), but if the GOBs
aren't small enough to fit into the MTU, the packetizer blindly
splits packets at any offset and claims it to be a GOB boundary
(by using Mode A from the RFC). While not correct, this seems
to work with some receivers.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-23 15:27:52 +02:00
Alex Converse
7181c4edee cosmetics: Remove extra newlines at EOF 2012-01-27 17:19:09 -08:00
Anton Khirnov
1d911bb404 lavf: remove disabled FF_API_SDP_CREATE cruft 2012-01-27 10:52:42 +01:00
Martin Storsjö
0ebd4083e1 sdp: Restore the original mp4 format h264 extradata if converted
If the sdp is generated before the rtp muxer is initialized
(e.g. as when called from the rtsp muxer), this has to be done,
otherwise the rtp muxer doesn't know that the input really is
in mp4 format.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-11 01:37:26 +02:00
Martin Storsjö
04403ec2e4 rtpenc: Add support for G726 audio
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-12-01 23:19:25 +02:00
Anton Khirnov
357db4c263 lavc: use avpriv_ prefix for ff_split_xiph_headers.
It's used in lavf.
2011-10-20 21:06:58 +02:00
Anton Khirnov
59a9a23581 lavc: use avpriv_ prefix for some mpeg4audio symbols used in lavf.
Specifically, ff_mpeg4audio_sample_rates, ff_mpeg4audio_get_config and
ff_copy_pce_data
2011-10-20 21:06:57 +02:00
Rafaël Carré
9152880e95 rtpenc: Add a payload type private option
Specifying the payload type is useful when the type number has
already been negotiated before creating the stream, for example
in SIP protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-09-26 21:54:57 +03:00
Rafaël Carré
0c378ea1f7 rtp: factorize dynamic payload type fallback
Move the identical code in rtp_write_header() and
ff_sdp_write_media() inside ff_rtp_get_payload_type()

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-09-23 22:00:24 +02:00
Martin Storsjö
9c434ce826 sdp: Reindent after the previous commit
Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-10 10:49:55 +03:00
Juan Carlos Rodriguez
0832122880 rtpenc: MP4A-LATM payload support
This is enabled with an AVOption on the RTP muxer. The SDP
generator looks for a latm flag in the rtpflags field.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-10 10:49:20 +03:00
Martin Storsjö
0558e266a2 sdp: Allow passing an AVFormatContext to the SDP generation
Options from the AVFormatContext can be read for modifying
the generated SDP.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-06-10 10:45:22 +03:00
Anton Khirnov
d2d67e424f Remove all uses of now deprecated metadata functions. 2011-06-08 07:43:45 +02:00
Anton Khirnov
c234d40bd9 lavf: rename a parameter of av_sdp_create from buff->buf
This is more consistent with the rest of the API.
2011-04-08 16:45:41 +02:00
Anton Khirnov
c3675dfe1e lavf: rename avf_sdp_create to av_sdp_create.
The new name is more consistent with the rest of the API.
2011-04-08 16:45:40 +02:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov
ab0287fcbd Move find_info_tag to lavu and add av_ prefix to it
Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-02-17 15:35:18 +01:00
Martin Storsjö
9b14ec5fae sdp: Add a framesize attribute to H.263 SDP descriptions
While not mentioned in RFC 4629, this is required for H.263 in
3GPP TS 26.234. It is in practice required for playback with
Android stagefright and on Samsung bada phones.

Originally committed as revision 26062 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-20 20:46:40 +00:00
Martin Storsjö
095e5c0b6d sdp: Conditionally compile code using AF_INET6
Should fix compilation in environments unaware of IPv6.

Originally committed as revision 25528 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-19 07:50:40 +00:00
Martin Storsjö
6898677e54 sdp: Only specify the TTL for IPv4 addresses
According to RFC 4566, a TTL value must not be present for IPv6 multicast.

Originally committed as revision 25412 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-08 11:58:47 +00:00
Martin Storsjö
87b2b40a33 Reindent
Originally committed as revision 25390 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 08:00:03 +00:00
Martin Storsjö
10105c9b29 sdp: Don't require the explicit ?multicast option
No such option is used anywhere else. Instead, detect the address type.

Originally committed as revision 25389 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-07 07:59:35 +00:00
Martin Storsjö
0048a2a8d3 Handle G.722 in RTP, and all the exceptions mandated in RFC 3551
Originally committed as revision 25125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-15 17:35:39 +00:00
Andreas Öman
f06d6c751f Make stub version of ff_sdp_write_media() match its prototype
Used when compiled without CONFIG_RTP_MUXER

Fallout from r24915

Originally committed as revision 24935 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 21:07:04 +00:00
Martin Storsjö
5a8693ef59 Reindent
Originally committed as revision 24919 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 13:31:33 +00:00
Martin Storsjö
7ad526d288 Simplify resolve_destination in sdp.c further, now that we don't enforce IPv4 any longer
Originally committed as revision 24918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 13:30:06 +00:00
Martin Storsjö
1272ae7e50 10l, add new function parameters to resolve_destination for !config_network too
Originally committed as revision 24917 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 12:51:20 +00:00
Martin Storsjö
cc83027c67 Reindent, rewrap lines
Originally committed as revision 24916 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 12:34:42 +00:00
Martin Storsjö
7ad1dc5447 Properly handle IPv6 addresses in the SDP generation
Originally committed as revision 24915 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-25 12:29:32 +00:00
Josh Allmann
7b18d94cb3 Add RTP packetization of VP8
Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 24797 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-16 14:21:17 +00:00
Martin Storsjö
b5c4bb989d rtpenc_xiph: Set the ident value via a define
Originally committed as revision 24749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-09 10:31:59 +00:00
Josh Allmann
91af5601c1 Add RTP packetization of Theora and Vorbis
Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 24735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-07 11:16:07 +00:00
Måns Rullgård
f3bfe388b5 Make ff_url_split() public
ff_url_split() is retained as an alias, as it was used by ffserver,
to avoid breaking ABI compatibility with it.

Originally committed as revision 23822 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-27 14:16:46 +00:00
Luca Abeni
ede13f55f0 Use a bitstream filter for converting the extradata syntax when generating an SDP.
This allows to generate correct SDPs for H.264 video in "MP4 syntax".

Originally committed as revision 23572 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-11 08:01:45 +00:00
Martin Storsjö
0341b6994a Make ff_sdp_write_media a lavf-internal function
This is in preparation for RTP hinting in the MOV muxer, where
it needs to be able to create SDP fragments for each media stream.

Originally committed as revision 23160 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-05-18 19:32:59 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Martin Storsjö
ddbeb95447 Add a lowercase parameter to ff_data_to_hex
Originally committed as revision 22665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 07:13:20 +00:00
Martin Storsjö
c5c6e67c28 Rename url_split to ff_url_split
Since this function isn't in the public API, it should have an ff_ prefix.

Originally committed as revision 22321 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 09:03:25 +00:00
Martin Storsjö
51a269cd97 Make sure the destination address is written as an IP address in the SDP
Patch by Martin Storsjo (martin AT martin DOT st)

Originally committed as revision 21163 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-12 10:56:43 +00:00