diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2007-06-03 03:11:17 +0400 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2007-06-03 03:11:17 +0400 |
commit | 9deb6d71b8bd2fb2f853aa7f709bba27a2311c66 (patch) | |
tree | c0f6ca827af30615ed5ff09fb68acf5e0d8f529e /libavformat/mpegts.c | |
parent | b2292194179beb5d0d523938289fc2030ebba49d (diff) |
get rid of one layer of callback obfuscation
Originally committed as revision 9178 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/mpegts.c')
-rw-r--r-- | libavformat/mpegts.c | 20 |
1 files changed, 4 insertions, 16 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index 28c0fd9d77..1d47eec45a 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -111,9 +111,6 @@ struct MpegTSContext { /** list of PMTs in the last PAT seen */ MpegTSService **services; - /* set service context (XXX: allocated it ?) */ - SetServiceCallback *set_service_cb; - void *set_service_opaque; /** filter for the PAT */ MpegTSFilter *pat_filter; /** filter for the PMT for the MPEG program number specified by req_sid */ @@ -529,7 +526,7 @@ static void pmt_cb(void *opaque, const uint8_t *section, int section_len) } } /* all parameters are there */ - ts->set_service_cb(ts->set_service_opaque, 0); + ts->stop_parse=1; mpegts_close_filter(ts, ts->pmt_filter); ts->pmt_filter = NULL; } @@ -573,7 +570,7 @@ static void pat_cb(void *opaque, const uint8_t *section, int section_len) } } /* not found */ - ts->set_service_cb(ts->set_service_opaque, -1); + ts->stop_parse=1; found: mpegts_close_filter(ts, ts->pat_filter); @@ -633,11 +630,8 @@ static void pat_scan_cb(void *opaque, const uint8_t *section, int section_len) ts->pat_filter = NULL; } -static void mpegts_set_service(MpegTSContext *ts, int sid, - SetServiceCallback *set_service_cb, void *opaque) +static void mpegts_set_service(MpegTSContext *ts, int sid) { - ts->set_service_cb = set_service_cb; - ts->set_service_opaque = opaque; ts->req_sid = sid; ts->pat_filter = mpegts_open_section_filter(ts, PAT_PID, pat_cb, ts, 1); @@ -1158,12 +1152,6 @@ static int mpegts_probe(AVProbeData *p) #endif } -static void set_service_cb(void *opaque, int ret) -{ - MpegTSContext *ts = opaque; - ts->stop_parse = 1; -} - /* return the 90 kHz PCR and the extension for the 27 MHz PCR. return (-1) if not available */ static int parse_pcr(int64_t *ppcr_high, int *ppcr_low, @@ -1266,7 +1254,7 @@ static int mpegts_read_header(AVFormatContext *s, otherwise try to filter all PATs */ url_fseek(pb, pos, SEEK_SET); - mpegts_set_service(ts, sid, set_service_cb, ts); + mpegts_set_service(ts, sid); handle_packets(ts, s->probesize); } |