]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Use parse_packet vfunc in RTPDynamicProtocolHandler instead of hardcoding
authorrbultje <rbultje@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Wed, 1 Oct 2008 12:38:41 +0000 (12:38 +0000)
committerrbultje <rbultje@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Wed, 1 Oct 2008 12:38:41 +0000 (12:38 +0000)
the use of rdt_parse_packet(). See "RDT/Realmedia patches #2" thread on ML.

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@15497 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavformat/rdt.c

index 0dd9a6ef8742eb33042b627aefce44d46272931c..c65e1d5e34372bdd0ff5c89c88eb18abf2ebcdf3 100644 (file)
@@ -211,10 +211,13 @@ ff_rdt_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
     uint32_t timestamp;
     int rv= 0;
 
+    if (!s->parse_packet)
+        return -1;
+
     if (!buf) {
         /* return the next packets, if any */
         timestamp= 0; ///< Should not be used if buf is NULL, but should be set to the timestamp of the packet returned....
-        rv= rdt_parse_packet(s, pkt, &timestamp, NULL, 0, flags);
+        rv= s->parse_packet(s, pkt, &timestamp, NULL, 0, flags);
         return rv;
     }
 
@@ -232,7 +235,7 @@ ff_rdt_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
     len -= rv;
     s->seq = seq;
 
-    rv = rdt_parse_packet(s, pkt, &timestamp, buf, len, flags);
+    rv = s->parse_packet(s, pkt, &timestamp, buf, len, flags);
 
     return rv;
 }
@@ -313,7 +316,8 @@ static RTPDynamicProtocolHandler ff_rdt_ ## n ## _handler = { \
     CODEC_ID_NONE, \
     rdt_parse_sdp_line, \
     rdt_new_extradata, \
-    rdt_free_extradata \
+    rdt_free_extradata, \
+    rdt_parse_packet \
 };
 
 RDT_HANDLER(live_video, "x-pn-multirate-realvideo-live", CODEC_TYPE_VIDEO);