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
|
|
26 // some globals:
|
|
27 int verbose=1;
|
|
28
|
|
29 // AVI demuxer parameters:
|
|
30 int index_mode=-1; // -1=untouched 0=don't use index 1=use (geneate) index
|
|
31 int force_ni=0; // force non-interleaved AVI parsing
|
|
32 int pts_from_bps=1; // PTS: 0=interleaved 1=BPS-based
|
|
33
|
|
34 //---------------
|
|
35
|
|
36 extern stream_t* open_stream(char* filename,int vcd_track,int* file_format);
|
|
37
|
|
38 int main(int argc,char* argv[]){
|
|
39
|
|
40 stream_t* stream=NULL;
|
|
41 demuxer_t* demuxer=NULL;
|
|
42 int file_format=DEMUXER_TYPE_UNKNOWN;
|
|
43
|
|
44 mp_msg_init(verbose+MSGL_STATUS);
|
|
45
|
|
46 if(argc>1)
|
|
47 stream=open_stream(argv[1],0,&file_format);
|
|
48 else
|
|
49 // stream=open_stream("/3d/divx/405divx_sm_v2[1].avi",0,&file_format);
|
|
50 stream=open_stream("/dev/cdrom",2,&file_format); // VCD track 2
|
|
51
|
|
52 if(!stream){
|
|
53 printf("Cannot open file/device\n");
|
|
54 exit(1);
|
|
55 }
|
|
56
|
|
57 printf("success: format: %d data: 0x%X - 0x%X\n",file_format, (int)(stream->start_pos),(int)(stream->end_pos));
|
|
58
|
|
59 demuxer=demux_open(stream,file_format,-1,-1,-1);
|
|
60 if(!demuxer){
|
|
61 printf("Cannot open demuxer\n");
|
|
62 exit(1);
|
|
63 }
|
|
64
|
|
65
|
|
66 }
|