2310
|
1
|
|
2 #include <stdio.h>
|
|
3 #include <stdlib.h>
|
|
4 #include <string.h>
|
|
5
|
|
6 #include "mp_msg.h"
|
|
7
|
|
8 #include "stream.h"
|
|
9 #include "demuxer.h"
|
|
10
|
|
11 #include "wine/mmreg.h"
|
|
12 #include "wine/avifmt.h"
|
|
13 #include "wine/vfw.h"
|
|
14 #include "codec-cfg.h"
|
|
15 #include "stheader.h"
|
|
16
|
|
17 //--------------------------
|
|
18
|
|
19 // audio stream skip/resync functions requires only for seeking.
|
|
20 // (they should be implemented in the audio codec layer)
|
|
21 void skip_audio_frame(sh_audio_t *sh_audio){
|
|
22 }
|
|
23 void resync_audio_stream(sh_audio_t *sh_audio){
|
|
24 }
|
|
25
|
2322
|
26 int verbose=5; // must be global!
|
2310
|
27
|
|
28 //---------------
|
|
29
|
|
30 extern stream_t* open_stream(char* filename,int vcd_track,int* file_format);
|
|
31
|
|
32 int main(int argc,char* argv[]){
|
|
33
|
|
34 stream_t* stream=NULL;
|
|
35 demuxer_t* demuxer=NULL;
|
|
36 int file_format=DEMUXER_TYPE_UNKNOWN;
|
|
37
|
|
38 mp_msg_init(verbose+MSGL_STATUS);
|
|
39
|
|
40 if(argc>1)
|
|
41 stream=open_stream(argv[1],0,&file_format);
|
|
42 else
|
|
43 // stream=open_stream("/3d/divx/405divx_sm_v2[1].avi",0,&file_format);
|
|
44 stream=open_stream("/dev/cdrom",2,&file_format); // VCD track 2
|
|
45
|
|
46 if(!stream){
|
|
47 printf("Cannot open file/device\n");
|
|
48 exit(1);
|
|
49 }
|
2322
|
50
|
2310
|
51 printf("success: format: %d data: 0x%X - 0x%X\n",file_format, (int)(stream->start_pos),(int)(stream->end_pos));
|
|
52
|
2322
|
53 stream_enable_cache(stream,2048*1024);
|
|
54
|
2310
|
55 demuxer=demux_open(stream,file_format,-1,-1,-1);
|
|
56 if(!demuxer){
|
|
57 printf("Cannot open demuxer\n");
|
|
58 exit(1);
|
|
59 }
|
|
60
|
|
61
|
|
62 }
|