summaryrefslogtreecommitdiff
path: root/libavformat/mpegts.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2007-06-02 23:11:17 +0000
committerMichael Niedermayer <michaelni@gmx.at>2007-06-02 23:11:17 +0000
commit9deb6d71b8bd2fb2f853aa7f709bba27a2311c66 (patch)
treec0f6ca827af30615ed5ff09fb68acf5e0d8f529e /libavformat/mpegts.c
parentb2292194179beb5d0d523938289fc2030ebba49d (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.c20
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);
}