From cd68e1618b17b525bd49757b2f5e245a6cb1a495 Mon Sep 17 00:00:00 2001 From: rtognimp Date: Fri, 5 Aug 2005 19:57:47 +0000 Subject: Demuxer modularization Demuxer selection by name with -demuxer command (bakward compatible) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@16176 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/demux_ts.c | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) (limited to 'libmpdemux/demux_ts.c') diff --git a/libmpdemux/demux_ts.c b/libmpdemux/demux_ts.c index 8d9622442e..620c9612e5 100644 --- a/libmpdemux/demux_ts.c +++ b/libmpdemux/demux_ts.c @@ -263,7 +263,7 @@ try_fec: -int ts_check_file(demuxer_t * demuxer) +static int ts_check_file(demuxer_t * demuxer) { const int buf_size = (TS_FEC_PACKET_SIZE * NUM_CONSECUTIVE_TS_PACKETS); unsigned char buf[TS_FEC_PACKET_SIZE * NUM_CONSECUTIVE_TS_PACKETS], done = 0, *ptr; @@ -360,9 +360,9 @@ int ts_check_file(demuxer_t * demuxer) mp_msg(MSGT_DEMUX, MSGL_V, "GOOD CC: %d, BAD CC: %d\n", good, bad); if(good >= bad) - return size; + return size; else - return 0; + return 0; } @@ -827,7 +827,7 @@ static int parse_avc_sps(uint8_t *buf, int len, int *w, int *h) return 1; } -demuxer_t *demux_open_ts(demuxer_t * demuxer) +static demuxer_t *demux_open_ts(demuxer_t * demuxer) { int i; uint8_t packet_size; @@ -984,7 +984,7 @@ demuxer_t *demux_open_ts(demuxer_t * demuxer) return demuxer; } -void demux_close_ts(demuxer_t * demuxer) +static void demux_close_ts(demuxer_t * demuxer) { uint16_t i; ts_priv_t *priv = (ts_priv_t*) demuxer->priv; @@ -3028,7 +3028,7 @@ extern int videobuf_code_len; extern int sync_video_packet(demux_stream_t *); extern int skip_video_packet(demux_stream_t *); -void demux_seek_ts(demuxer_t *demuxer, float rel_seek_secs, int flags) +static void demux_seek_ts(demuxer_t *demuxer, float rel_seek_secs, int flags) { demux_stream_t *d_audio=demuxer->audio; demux_stream_t *d_video=demuxer->video; @@ -3129,7 +3129,7 @@ void demux_seek_ts(demuxer_t *demuxer, float rel_seek_secs, int flags) } -int demux_ts_fill_buffer(demuxer_t * demuxer) +static int demux_ts_fill_buffer(demuxer_t * demuxer, demux_stream_t *ds) { ES_stream_t es; ts_priv_t *priv = (ts_priv_t *)demuxer->priv; @@ -3138,4 +3138,24 @@ int demux_ts_fill_buffer(demuxer_t * demuxer) } +static int ts_check_file_dmx(demuxer_t *demuxer) +{ + return ts_check_file(demuxer) ? DEMUXER_TYPE_MPEG_TS : 0; +} + +demuxer_desc_t demuxer_desc_mpeg_ts = { + "MPEG-TS demuxer", + "mpegts", + "TS", + "Nico Sabbi", + "", + DEMUXER_TYPE_MPEG_TS, + 0, // unsafe autodetect + ts_check_file_dmx, + demux_ts_fill_buffer, + demux_open_ts, + demux_close_ts, + demux_seek_ts, + NULL +}; -- cgit v1.2.3