aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/rtsp.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2009-04-14 15:01:46 +0000
committerRonald S. Bultje <rsbultje@gmail.com>2009-04-14 15:01:46 +0000
commite6327fba9859eac1e87d02d91a6834090c16eb3b (patch)
tree0cba35cf567a40457457d57bc52883c74c704c24 /libavformat/rtsp.c
parentd648c720af2f011b3d5884bffbefed069cd815d2 (diff)
downloadffmpeg-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.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c
index bb78def919..362714b4a4 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)) {