summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_roq.c
diff options
context:
space:
mode:
authorrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-05 19:57:47 +0000
committerrtognimp <rtognimp@b3059339-0415-0410-9bf9-f77b7e298cf2>2005-08-05 19:57:47 +0000
commitcd68e1618b17b525bd49757b2f5e245a6cb1a495 (patch)
treec67656ff189654b818ade76a8f5bd0b7d1bf7f91 /libmpdemux/demux_roq.c
parentadfe956dc385d6588eb2ab74828f9a905821adf4 (diff)
downloadmpv-cd68e1618b17b525bd49757b2f5e245a6cb1a495.tar.bz2
mpv-cd68e1618b17b525bd49757b2f5e245a6cb1a495.tar.xz
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
Diffstat (limited to 'libmpdemux/demux_roq.c')
-rw-r--r--libmpdemux/demux_roq.c26
1 files changed, 21 insertions, 5 deletions
diff --git a/libmpdemux/demux_roq.c b/libmpdemux/demux_roq.c
index cb28520f89..b076a9497d 100644
--- a/libmpdemux/demux_roq.c
+++ b/libmpdemux/demux_roq.c
@@ -48,11 +48,11 @@ typedef struct roq_data_t
// Check if a stream qualifies as a RoQ file based on the magic numbers
// at the start of the file:
// 84 10 FF FF FF FF xx xx
-int roq_check_file(demuxer_t *demuxer)
+static int roq_check_file(demuxer_t *demuxer)
{
if ((stream_read_dword(demuxer->stream) == 0x8410FFFF) &&
((stream_read_dword(demuxer->stream) & 0xFFFF0000) == 0xFFFF0000))
- return 1;
+ return DEMUXER_TYPE_ROQ;
else
return 0;
}
@@ -60,7 +60,7 @@ int roq_check_file(demuxer_t *demuxer)
// return value:
// 0 = EOF or no stream found
// 1 = successfully read a packet
-int demux_roq_fill_buffer(demuxer_t *demuxer)
+static int demux_roq_fill_buffer(demuxer_t *demuxer, demux_stream_t *ds)
{
sh_video_t *sh_video = demuxer->video->sh;
roq_data_t *roq_data = (roq_data_t *)demuxer->priv;
@@ -87,7 +87,7 @@ int demux_roq_fill_buffer(demuxer_t *demuxer)
return 1;
}
-demuxer_t* demux_open_roq(demuxer_t* demuxer)
+static demuxer_t* demux_open_roq(demuxer_t* demuxer)
{
sh_video_t *sh_video = NULL;
sh_audio_t *sh_audio = NULL;
@@ -240,7 +240,7 @@ demuxer_t* demux_open_roq(demuxer_t* demuxer)
return demuxer;
}
-void demux_close_roq(demuxer_t* demuxer) {
+static void demux_close_roq(demuxer_t* demuxer) {
roq_data_t *roq_data = demuxer->priv;
if(!roq_data)
@@ -248,3 +248,19 @@ void demux_close_roq(demuxer_t* demuxer) {
free(roq_data);
}
+
+demuxer_desc_t demuxer_desc_roq = {
+ "RoQ demuxer",
+ "roq",
+ "ROQ",
+ "Mike Melanson",
+ "",
+ DEMUXER_TYPE_ROQ,
+ 0, // unsafe autodetect
+ roq_check_file,
+ demux_roq_fill_buffer,
+ demux_open_roq,
+ demux_close_roq,
+ NULL,
+ NULL
+};