diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2009-04-14 15:01:46 +0000 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2009-04-14 15:01:46 +0000 |
commit | e6327fba9859eac1e87d02d91a6834090c16eb3b (patch) | |
tree | 0cba35cf567a40457457d57bc52883c74c704c24 /libavformat/rtsp.c | |
parent | d648c720af2f011b3d5884bffbefed069cd815d2 (diff) | |
download | ffmpeg-streaming-e6327fba9859eac1e87d02d91a6834090c16eb3b.zip ffmpeg-streaming-e6327fba9859eac1e87d02d91a6834090c16eb3b.tar.gz |
Add a Vorbis payload parser. Implemented by Colin McQuillan as a GSoC
qualification task, see "RTP/Vorbis payload implementation (GSoC qual
task)" thread on mailinglist.
Originally committed as revision 18509 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/rtsp.c')
-rw-r--r-- | libavformat/rtsp.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index bb78def..362714b 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -37,6 +37,7 @@ #include "rtpdec.h" #include "rdt.h" #include "rtp_asf.h" +#include "rtp_vorbis.h" //#define DEBUG //#define DEBUG_RTP_TCP @@ -196,7 +197,8 @@ static int hex_to_data(uint8_t *data, const char *p) return len; } -static void sdp_parse_fmtp_config(AVCodecContext *codec, char *attr, char *value) +static void sdp_parse_fmtp_config(AVCodecContext * codec, void *ctx, + char *attr, char *value) { switch (codec->codec_id) { case CODEC_ID_MPEG4: @@ -213,6 +215,9 @@ static void sdp_parse_fmtp_config(AVCodecContext *codec, char *attr, char *value hex_to_data(codec->extradata, value); } break; + case CODEC_ID_VORBIS: + ff_vorbis_parse_fmtp_config(codec, ctx, attr, value); + break; default: break; } @@ -274,7 +279,8 @@ static void sdp_parse_fmtp(AVStream *st, const char *p) while(rtsp_next_attr_and_value(&p, attr, sizeof(attr), value, sizeof(value))) { /* grab the codec extra_data from the config parameter of the fmtp line */ - sdp_parse_fmtp_config(codec, attr, value); + sdp_parse_fmtp_config(codec, rtsp_st->dynamic_protocol_context, + attr, value); /* Looking for a known attribute */ for (i = 0; attr_names[i].str; ++i) { if (!strcasecmp(attr, attr_names[i].str)) { |