[Mplayer-cvslog] CVS: main asfheader.c,1.4,1.5 aviheader.c,1.2,1.3 demux_asf.c,1.2,1.3 demux_avi.c,1.3,1.4 demux_mpg.c,1.3,1.4 mplayer.c,1.60,1.61 stheader.h,1.4,1.5 version.h,1.3,1.4
GEREOFFY
arpi_esp at users.sourceforge.net
Sun Apr 15 05:40:39 CEST 2001
Update of /cvsroot/mplayer/main
In directory usw-pr-cvs1:/tmp/cvs-serv13232
Modified Files:
asfheader.c aviheader.c demux_asf.c demux_avi.c demux_mpg.c
mplayer.c stheader.h version.h
Log Message:
new stream selection code
Index: asfheader.c
===================================================================
RCS file: /cvsroot/mplayer/main/asfheader.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** asfheader.c 2001/04/11 01:38:56 1.4
--- asfheader.c 2001/04/15 03:40:37 1.5
***************
*** 129,133 ****
switch(*((unsigned int*)&streamh.type)){
case 0xF8699E40: { // guid_audio_stream
! sh_audio_t *sh_audio=&sh_audio_i; // FIXME!
memcpy(&sh_audio->wf,buffer,streamh.type_size<64?streamh.type_size:64);
if(verbose>=1) print_wave_header((WAVEFORMATEX*)buffer);
--- 129,133 ----
switch(*((unsigned int*)&streamh.type)){
case 0xF8699E40: { // guid_audio_stream
! sh_audio_t* sh_audio=new_sh_audio(streamh.stream_no & 0x7F);
memcpy(&sh_audio->wf,buffer,streamh.type_size<64?streamh.type_size:64);
if(verbose>=1) print_wave_header((WAVEFORMATEX*)buffer);
***************
*** 142,156 ****
}
printf("ASF: audio scrambling: %d x %d x %d\n",asf_scrambling_h,asf_scrambling_w,asf_scrambling_b);
! if(demuxer->audio->id==-1) demuxer->audio->id=streamh.stream_no & 0x7F;
break;
}
case 0xBC19EFC0: { // guid_video_stream
! sh_video_t *sh_video=&sh_video_i; // FIXME!
memcpy(&sh_video->bih,&buffer[4+4+1+2],sizeof(BITMAPINFOHEADER));
! sh_video->fps=(float)sh_video->video.dwRate/(float)sh_video->video.dwScale;
! sh_video->frametime=(float)sh_video->video.dwScale/(float)sh_video->video.dwRate;
if(verbose>=1) print_video_header((BITMAPINFOHEADER*)&buffer[4+4+1+2]);
//asf_video_id=streamh.stream_no & 0x7F;
! if(demuxer->video->id==-1) demuxer->video->id=streamh.stream_no & 0x7F;
break;
}
--- 142,156 ----
}
printf("ASF: audio scrambling: %d x %d x %d\n",asf_scrambling_h,asf_scrambling_w,asf_scrambling_b);
! //if(demuxer->audio->id==-1) demuxer->audio->id=streamh.stream_no & 0x7F;
break;
}
case 0xBC19EFC0: { // guid_video_stream
! sh_video_t* sh_video=new_sh_video(streamh.stream_no & 0x7F);
memcpy(&sh_video->bih,&buffer[4+4+1+2],sizeof(BITMAPINFOHEADER));
! //sh_video->fps=(float)sh_video->video.dwRate/(float)sh_video->video.dwScale;
! //sh_video->frametime=(float)sh_video->video.dwScale/(float)sh_video->video.dwRate;
if(verbose>=1) print_video_header((BITMAPINFOHEADER*)&buffer[4+4+1+2]);
//asf_video_id=streamh.stream_no & 0x7F;
! //if(demuxer->video->id==-1) demuxer->video->id=streamh.stream_no & 0x7F;
break;
}
Index: aviheader.c
===================================================================
RCS file: /cvsroot/mplayer/main/aviheader.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** aviheader.c 2001/04/06 01:18:59 1.2
--- aviheader.c 2001/04/15 03:40:37 1.3
***************
*** 3,7 ****
void read_avi_header(int no_index){
!
int stream_id=-1;
--- 3,8 ----
void read_avi_header(int no_index){
! sh_audio_t *sh_audio=NULL;
! sh_video_t *sh_video=NULL;
int stream_id=-1;
***************
*** 42,62 ****
stream_read(demuxer->stream,(char*) &h,MIN(size2,sizeof(h)));
chunksize-=MIN(size2,sizeof(h));
! if(h.fccType==streamtypeVIDEO) memcpy(&sh_video_i.video,&h,sizeof(h));else
! if(h.fccType==streamtypeAUDIO) memcpy(&sh_audio_i.audio,&h,sizeof(h));
last_fccType=h.fccType;
if(verbose>=1) print_strh(&h);
- ++stream_id;
break; }
case ckidSTREAMFORMAT: { // read 'strf'
if(last_fccType==streamtypeVIDEO){
- sh_video_t *sh_video=&sh_video_i; // FIXME!
stream_read(demuxer->stream,(char*) &sh_video->bih,MIN(size2,sizeof(sh_video->bih)));
chunksize-=MIN(size2,sizeof(sh_video->bih));
sh_video->fps=(float)sh_video->video.dwRate/(float)sh_video->video.dwScale;
sh_video->frametime=(float)sh_video->video.dwScale/(float)sh_video->video.dwRate;
! if(demuxer->video->id==-1) demuxer->video->id=stream_id;
} else
if(last_fccType==streamtypeAUDIO){
- sh_audio_t *sh_audio=&sh_audio_i; // FIXME!
int z=(chunksize<64)?chunksize:64;
if(verbose>=2) printf("found 'wf', %d bytes of %d\n",chunksize,sizeof(WAVEFORMATEX));
--- 43,67 ----
stream_read(demuxer->stream,(char*) &h,MIN(size2,sizeof(h)));
chunksize-=MIN(size2,sizeof(h));
! ++stream_id;
! if(h.fccType==streamtypeVIDEO){
! sh_video=new_sh_video(stream_id);
! memcpy(&sh_video->video,&h,sizeof(h));
! } else
! if(h.fccType==streamtypeAUDIO){
! sh_audio=new_sh_audio(stream_id);
! memcpy(&sh_audio->audio,&h,sizeof(h));
! }
last_fccType=h.fccType;
if(verbose>=1) print_strh(&h);
break; }
case ckidSTREAMFORMAT: { // read 'strf'
if(last_fccType==streamtypeVIDEO){
stream_read(demuxer->stream,(char*) &sh_video->bih,MIN(size2,sizeof(sh_video->bih)));
chunksize-=MIN(size2,sizeof(sh_video->bih));
sh_video->fps=(float)sh_video->video.dwRate/(float)sh_video->video.dwScale;
sh_video->frametime=(float)sh_video->video.dwScale/(float)sh_video->video.dwRate;
! // if(demuxer->video->id==-1) demuxer->video->id=stream_id;
} else
if(last_fccType==streamtypeAUDIO){
int z=(chunksize<64)?chunksize:64;
if(verbose>=2) printf("found 'wf', %d bytes of %d\n",chunksize,sizeof(WAVEFORMATEX));
***************
*** 64,68 ****
chunksize-=z;
if(verbose>=1) print_wave_header(&sh_audio->wf);
! if(demuxer->audio->id==-1) demuxer->audio->id=stream_id;
}
break;
--- 69,73 ----
chunksize-=z;
if(verbose>=1) print_wave_header(&sh_audio->wf);
! // if(demuxer->audio->id==-1) demuxer->audio->id=stream_id;
}
break;
Index: demux_asf.c
===================================================================
RCS file: /cvsroot/mplayer/main/demux_asf.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** demux_asf.c 2001/03/15 19:38:34 1.2
--- demux_asf.c 2001/04/15 03:40:37 1.3
***************
*** 22,44 ****
if(verbose>=4) printf("demux_asf.read_packet: id=%d seq=%d len=%d\n",id,seq,len);
! #if 0
! if(demux->video->id==-1) {
! demux->video->id=asf_video_id;
! if(verbose) printf("ASF video ID = %d\n",demux->video->id);
! }
if(demux->audio->id==-1)
! if(id!=asf_video_id && id!=demux->video->id){
! demux->audio->id=id;
! if(verbose) printf("ASF audio ID = %d\n",demux->audio->id);
! }
! #endif
if(id==demux->audio->id){
// audio
ds=demux->audio;
} else
if(id==demux->video->id){
// video
ds=demux->video;
}
--- 22,48 ----
if(verbose>=4) printf("demux_asf.read_packet: id=%d seq=%d len=%d\n",id,seq,len);
! if(demux->video->id==-1)
! if(avi_header.v_streams[id])
! demux->video->id=id;
!
if(demux->audio->id==-1)
! if(avi_header.a_streams[id])
! demux->audio->id=id;
if(id==demux->audio->id){
// audio
ds=demux->audio;
+ if(!ds->sh){
+ ds->sh=avi_header.a_streams[id];
+ if(verbose) printf("Auto-selected ASF audio ID = %d\n",ds->id);
+ }
} else
if(id==demux->video->id){
// video
ds=demux->video;
+ if(!ds->sh){
+ ds->sh=avi_header.v_streams[id];
+ if(verbose) printf("Auto-selected ASF video ID = %d\n",ds->id);
+ }
}
Index: demux_avi.c
===================================================================
RCS file: /cvsroot/mplayer/main/demux_avi.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** demux_avi.c 2001/04/06 01:18:59 1.3
--- demux_avi.c 2001/04/15 03:40:37 1.4
***************
*** 18,23 ****
static inline demux_stream_t* demux_avi_select_stream(demuxer_t *demux,unsigned int id){
int stream_id=avi_stream_id(id);
! if(stream_id==demux->audio->id) return demux->audio;
! if(stream_id==demux->video->id) return demux->video;
if(id!=mmioFOURCC('J','U','N','K')){
// unknown
--- 18,47 ----
static inline demux_stream_t* demux_avi_select_stream(demuxer_t *demux,unsigned int id){
int stream_id=avi_stream_id(id);
!
! // printf("demux_avi_select_stream(%d) {a:%d/v:%d}\n",stream_id,
! // demux->audio->id,demux->video->id);
!
! if(demux->video->id==-1)
! if(avi_header.v_streams[stream_id])
! demux->video->id=stream_id;
!
! if(demux->audio->id==-1)
! if(avi_header.a_streams[stream_id])
! demux->audio->id=stream_id;
!
! if(stream_id==demux->audio->id){
! if(!demux->audio->sh){
! demux->audio->sh=avi_header.a_streams[stream_id];
! if(verbose) printf("Auto-selected AVI audio ID = %d\n",demux->audio->id);
! }
! return demux->audio;
! }
! if(stream_id==demux->video->id){
! if(!demux->video->sh){
! demux->video->sh=avi_header.v_streams[stream_id];
! if(verbose) printf("Auto-selected AVI video ID = %d\n",demux->video->id);
! }
! return demux->video;
! }
if(id!=mmioFOURCC('J','U','N','K')){
// unknown
Index: demux_mpg.c
===================================================================
RCS file: /cvsroot/mplayer/main/demux_mpg.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** demux_mpg.c 2001/04/14 03:10:48 1.3
--- demux_mpg.c 2001/04/15 03:40:37 1.4
***************
*** 84,100 ****
//============== DVD Audio sub-stream ======================
if(id==0x1BD){
! int aid=stream_read_char(demux->stream)&0x7F;--len;
! ds=demux->audio;
! if(ds->id==-1) ds->id=aid;
! if(!dvdaudio_table[aid]){
! dvdaudio_table[aid]=1;
! printf("DVD Audio format: %s ID=%d%s\n",
! ((aid&0x70)==0x20)?"PCM":"AC3",aid,(ds->id==aid)?" CURRENT":"");
! }
if(len<3) return -1; // invalid audio packet
! if(ds->id!=aid){
! // drop packet (not selected channel)
! ds=NULL;
! } else {
// READ Packet: Skip additional audio header data:
c=stream_read_char(demux->stream);
--- 84,96 ----
//============== DVD Audio sub-stream ======================
if(id==0x1BD){
! int aid=128+(stream_read_char(demux->stream)&0x7F);--len;
if(len<3) return -1; // invalid audio packet
!
! if(!avi_header.a_streams[aid]) new_sh_audio(aid);
! if(demux->audio->id==-1) demux->audio->id=aid;
!
! if(demux->audio->id==aid){
! ds=demux->audio;
! if(!ds->sh) ds->sh=avi_header.a_streams[aid];
// READ Packet: Skip additional audio header data:
c=stream_read_char(demux->stream);
***************
*** 131,137 ****
--- 127,135 ----
// mpeg audio
int aid=id-0x1C0;
+ if(!avi_header.a_streams[aid]) new_sh_audio(aid);
if(demux->audio->id==-1) demux->audio->id=aid;
if(demux->audio->id==aid){
ds=demux->audio;
+ if(!ds->sh) ds->sh=avi_header.a_streams[aid];
if(ds->type==-1) ds->type=1;
}
***************
*** 140,145 ****
// mpeg video
int aid=id-0x1E0;
if(demux->video->id==-1) demux->video->id=aid;
! if(demux->video->id==aid) ds=demux->video;
}
--- 138,147 ----
// mpeg video
int aid=id-0x1E0;
+ if(!avi_header.v_streams[aid]) new_sh_video(aid);
if(demux->video->id==-1) demux->video->id=aid;
! if(demux->video->id==aid){
! ds=demux->video;
! if(!ds->sh) ds->sh=avi_header.v_streams[aid];
! }
}
Index: mplayer.c
===================================================================
RCS file: /cvsroot/mplayer/main/mplayer.c,v
retrieving revision 1.60
retrieving revision 1.61
diff -C2 -r1.60 -r1.61
*** mplayer.c 2001/04/14 22:51:56 1.60
--- mplayer.c 2001/04/15 03:40:37 1.61
***************
*** 155,165 ****
static int max_framesize=0;
! static int dbg_es_sent=0;
! static int dbg_es_rcvd=0;
//static int show_packets=0;
//**************************************************************************//
typedef struct {
// file:
--- 155,173 ----
static int max_framesize=0;
! //static int dbg_es_sent=0;
! //static int dbg_es_rcvd=0;
//static int show_packets=0;
//**************************************************************************//
+ //**************************************************************************//
+ // Input media streaming & demultiplexer:
+ //**************************************************************************//
+
+ #include "stream.c"
+ #include "demuxer.c"
+ #include "stheader.h"
+
typedef struct {
// file:
***************
*** 174,177 ****
--- 182,188 ----
int idx_pos_v;
int idx_offset; // ennyit kell hozzaadni az index offset ertekekhez
+ // streams:
+ sh_audio_t* a_streams[256];
+ sh_video_t* v_streams[256];
// video:
unsigned int bitrate;
***************
*** 181,199 ****
#include "aviprint.c"
-
- extern picture_t *picture;
-
- char* encode_name=NULL;
- char* encode_index_name=NULL;
- int encode_bitrate=0;
! //**************************************************************************//
! // Input media streaming & demultiplexer:
! //**************************************************************************//
! #include "stream.c"
! #include "demuxer.c"
- #include "stheader.h"
#include "demux_avi.c"
--- 192,218 ----
#include "aviprint.c"
! sh_audio_t* new_sh_audio(int id){
! if(avi_header.a_streams[id]){
! printf("Warning! Audio stream header %d redefined!\n",id);
! } else {
! if(verbose) printf("Found audio stream: %d\n",id);
! avi_header.a_streams[id]=malloc(sizeof(sh_audio_t));
! memset(avi_header.a_streams[id],0,sizeof(sh_audio_t));
! }
! return avi_header.a_streams[id];
! }
! sh_video_t* new_sh_video(int id){
! if(avi_header.v_streams[id]){
! printf("Warning! video stream header %d redefined!\n",id);
! } else {
! if(verbose) printf("Found video stream: %d\n",id);
! avi_header.v_streams[id]=malloc(sizeof(sh_video_t));
! memset(avi_header.v_streams[id],0,sizeof(sh_video_t));
! }
! return avi_header.v_streams[id];
! }
#include "demux_avi.c"
***************
*** 204,215 ****
demux_stream_t *d_video=NULL;
! sh_audio_t sh_audio_i; // FIXME later!
! sh_video_t sh_video_i;
! sh_audio_t *sh_audio=&sh_audio_i;
! sh_video_t *sh_video=&sh_video_i;
// MPEG video stream parser:
#include "parse_es.c"
static const int frameratecode2framerate[16] = {
0, 24000*10000/1001, 24*10000,25*10000, 30000*10000/1001, 30*10000,50*10000,60000*10000/1001,
--- 223,238 ----
demux_stream_t *d_video=NULL;
! sh_audio_t *sh_audio=NULL;//&sh_audio_i;
! sh_video_t *sh_video=NULL;//&sh_video_i;
+ char* encode_name=NULL;
+ char* encode_index_name=NULL;
+ int encode_bitrate=0;
+
// MPEG video stream parser:
#include "parse_es.c"
+ extern picture_t *picture;
+
static const int frameratecode2framerate[16] = {
0, 24000*10000/1001, 24*10000,25*10000, 30000*10000/1001, 30*10000,50*10000,60000*10000/1001,
***************
*** 350,353 ****
--- 373,377 ----
int divx_quality=0;
+ extern int vo_dbpp;
int main(int argc,char* argv[], char *envp[]){
***************
*** 407,411 ****
float sub_fps=0;
//int user_bpp=0;
! extern int vo_dbpp;
#include "cfg-mplayer.h"
--- 431,435 ----
float sub_fps=0;
//int user_bpp=0;
!
#include "cfg-mplayer.h"
***************
*** 595,600 ****
d_audio=demuxer->audio;
d_video=demuxer->video;
! d_audio->sh=sh_audio; sh_audio->ds=d_audio;
! d_video->sh=sh_video; sh_video->ds=d_video;
switch(file_format){
--- 619,626 ----
d_audio=demuxer->audio;
d_video=demuxer->video;
! //d_audio->sh=sh_audio;
! //d_video->sh=sh_video;
! //sh_audio=d_audio->sh;sh_audio->ds=d_audio;
! //sh_video=d_video->sh;sh_video->ds=d_video;
switch(file_format){
***************
*** 663,672 ****
exit(1);
}
if(has_audio){
! if(verbose) printf("ASF: Searching for audio stream (id:%d)\n",d_audio->id);
if(!ds_fill_buffer(d_audio)){
! printf("ASF: No Audio stream found... ->nosound\n");
has_audio=0;
! } else sh_audio->format=sh_audio->wf.wFormatTag;
}
// calc. FPS:
--- 689,703 ----
exit(1);
}
+ sh_video=d_video->sh;sh_video->ds=d_video;
if(has_audio){
! if(verbose) printf("AVI: Searching for audio stream (id:%d)\n",d_audio->id);
if(!ds_fill_buffer(d_audio)){
! printf("AVI: No Audio stream found... ->nosound\n");
has_audio=0;
! sh_audio=NULL;
! } else {
! sh_audio=d_audio->sh;sh_audio->ds=d_audio;
! sh_audio->format=sh_audio->wf.wFormatTag;
! }
}
// calc. FPS:
***************
*** 699,702 ****
--- 730,734 ----
exit(1);
}
+ sh_video=d_video->sh;sh_video->ds=d_video;
if(has_audio){
if(verbose) printf("ASF: Searching for audio stream (id:%d)\n",d_audio->id);
***************
*** 704,708 ****
printf("ASF: No Audio stream found... ->nosound\n");
has_audio=0;
! } else sh_audio->format=sh_audio->wf.wFormatTag;
}
sh_video->fps=1000.0f; sh_video->frametime=0.001f; // 1ms
--- 736,744 ----
printf("ASF: No Audio stream found... ->nosound\n");
has_audio=0;
! sh_audio=NULL;
! } else {
! sh_audio=d_audio->sh;sh_audio->ds=d_audio;
! sh_audio->format=sh_audio->wf.wFormatTag;
! }
}
sh_video->fps=1000.0f; sh_video->frametime=0.001f; // 1ms
***************
*** 715,720 ****
}
case DEMUXER_TYPE_MPEG_ES: {
! demuxer->audio->type=0;
! has_audio=0; // ES streams has no audio channel
break;
}
--- 751,756 ----
}
case DEMUXER_TYPE_MPEG_ES: {
! d_audio->type=0;
! has_audio=0;sh_audio=NULL; // ES streams has no audio channel
break;
}
***************
*** 723,728 ****
if(!ds_fill_buffer(d_audio)){
printf("MPEG: No Audio stream found... ->nosound\n");
! has_audio=0;
} else {
if(verbose) printf("detected MPG-PS audio format: %d\n",d_audio->type);
switch(d_audio->type){
--- 759,765 ----
if(!ds_fill_buffer(d_audio)){
printf("MPEG: No Audio stream found... ->nosound\n");
! has_audio=0;sh_audio=NULL;
} else {
+ sh_audio=d_audio->sh;sh_audio->ds=d_audio;
if(verbose) printf("detected MPG-PS audio format: %d\n",d_audio->type);
switch(d_audio->type){
***************
*** 761,764 ****
--- 798,802 ----
}
if(verbose) printf("OK!\n");
+ sh_video=d_video->sh;sh_video->ds=d_video;
sh_video->format=1; // mpeg video
mpeg2_init();
***************
*** 1441,1450 ****
max_pts_correction=default_max_pts_correction;
a_frame+=x; c_total+=x;
! printf(" ct:%7.3f %3d %2d%% %2d%% %3.1f%% %d \r",c_total,
(int)num_frames,
(v_frame>0.5)?(int)(100.0*video_time_usage/(double)v_frame):0,
(v_frame>0.5)?(int)(100.0*vout_time_usage/(double)v_frame):0,
! (v_frame>0.5)?(100.0*audio_time_usage/(double)v_frame):0,
! dbg_es_sent-dbg_es_rcvd
);
fflush(stdout);
--- 1479,1488 ----
max_pts_correction=default_max_pts_correction;
a_frame+=x; c_total+=x;
! printf(" ct:%7.3f %3d %2d%% %2d%% %3.1f%% \r",c_total,
(int)num_frames,
(v_frame>0.5)?(int)(100.0*video_time_usage/(double)v_frame):0,
(v_frame>0.5)?(int)(100.0*vout_time_usage/(double)v_frame):0,
! (v_frame>0.5)?(100.0*audio_time_usage/(double)v_frame):0
! // dbg_es_sent-dbg_es_rcvd
);
fflush(stdout);
***************
*** 1458,1467 ****
if(frame_corr_num==5){
// printf("A: --- V:%6.1f \r",v_pts);
! printf("V:%6.1f %3d %2d%% %2d%% %3.1f%% %d \r",v_pts,
(int)num_frames,
(v_frame>0.5)?(int)(100.0*video_time_usage/(double)v_frame):0,
(v_frame>0.5)?(int)(100.0*vout_time_usage/(double)v_frame):0,
! (v_frame>0.5)?(100.0*audio_time_usage/(double)v_frame):0,
! dbg_es_sent-dbg_es_rcvd);
fflush(stdout);
--- 1496,1506 ----
if(frame_corr_num==5){
// printf("A: --- V:%6.1f \r",v_pts);
! printf("V:%6.1f %3d %2d%% %2d%% %3.1f%% \r",v_pts,
(int)num_frames,
(v_frame>0.5)?(int)(100.0*video_time_usage/(double)v_frame):0,
(v_frame>0.5)?(int)(100.0*vout_time_usage/(double)v_frame):0,
! (v_frame>0.5)?(100.0*audio_time_usage/(double)v_frame):0
! // dbg_es_sent-dbg_es_rcvd
! );
fflush(stdout);
Index: stheader.h
===================================================================
RCS file: /cvsroot/mplayer/main/stheader.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** stheader.h 2001/04/14 03:12:48 1.4
--- stheader.h 2001/04/15 03:40:37 1.5
***************
*** 58,59 ****
--- 58,60 ----
} sh_video_t;
+
Index: version.h
===================================================================
RCS file: /cvsroot/mplayer/main/version.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** version.h 2001/02/25 22:51:34 1.3
--- version.h 2001/04/15 03:40:37 1.4
***************
*** 1 ****
! #define VERSION "0.11pre-cvs"
--- 1 ----
! #define VERSION "0.11cvs-010415-00:56"
_______________________________________________
Mplayer-cvslog mailing list
Mplayer-cvslog at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/mplayer-cvslog
More information about the MPlayer-cvslog
mailing list