1
mirror of https://github.com/mpv-player/mpv synced 2024-12-28 06:03:45 +01:00

-dumpstream

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3258 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
arpi 2001-12-01 22:54:17 +00:00
parent 0f1fa8e4fc
commit d591cc8aad
2 changed files with 26 additions and 4 deletions

View File

@ -164,6 +164,7 @@ struct config conf[]={
{"dumpvideo", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 2}, {"dumpvideo", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 2},
{"dumpsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 3}, {"dumpsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 3},
{"dumpmpsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 4}, {"dumpmpsub", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 4},
{"dumpstream", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 5},
{"aofile", &ao_outputfilename, CONF_TYPE_STRING, 0, 0, 0}, {"aofile", &ao_outputfilename, CONF_TYPE_STRING, 0, 0, 0},
{"waveheader", &ao_pcm_waveheader, CONF_TYPE_FLAG, 0, 0, 1}, {"waveheader", &ao_pcm_waveheader, CONF_TYPE_FLAG, 0, 0, 1},

View File

@ -199,7 +199,7 @@ extern int cache_fill_status;
#endif #endif
// dump: // dump:
static char *stream_dump_name=NULL; static char *stream_dump_name="stream.dump";
static int stream_dump_type=0; static int stream_dump_type=0;
// A-V sync: // A-V sync:
@ -775,14 +775,34 @@ play_next_file:
} }
} }
current_module="open_stream"; current_module="open_stream";
stream=open_stream(filename,vcd_track,&file_format); stream=open_stream(filename,vcd_track,&file_format);
if(!stream) goto goto_next_file;// exit_player(MSGTR_Exit_error); // error... if(!stream) goto goto_next_file;// exit_player(MSGTR_Exit_error); // error...
inited_flags|=INITED_STREAM; inited_flags|=INITED_STREAM;
stream->start_pos+=seek_to_byte; stream->start_pos+=seek_to_byte;
if(stream_dump_type==5){
unsigned char buf[4096];
int len;
FILE *f;
current_module="dump";
stream_reset(stream);
stream_seek(stream,stream->start_pos);
f=fopen(stream_dump_name,"wb");
if(!f){
mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_CantOpenDumpfile);
exit_player(MSGTR_Exit_error);
}
while(!stream->eof){
len=stream_read(stream,buf,4096);
if(len>0) fwrite(buf,len,1,f);
}
fclose(f);
mp_msg(MSGT_CPLAYER,MSGL_INFO,MSGTR_CoreDumped);
exit_player(MSGTR_Exit_eof);
}
#ifdef USE_DVDREAD #ifdef USE_DVDREAD
current_module="spudec"; current_module="spudec";
vo_spudec=spudec_new(stream->priv); vo_spudec=spudec_new(stream->priv);
@ -816,6 +836,7 @@ play_next_file:
//============ Open & Sync stream and detect file format =============== //============ Open & Sync stream and detect file format ===============
if(!has_audio) audio_id=-2; // do NOT read audio packets... if(!has_audio) audio_id=-2; // do NOT read audio packets...
current_module="demux_open"; current_module="demux_open";
@ -850,7 +871,7 @@ if(stream_dump_type){
if(d_video && d_video!=ds) {ds_free_packs(d_video); d_video->id=-2; } if(d_video && d_video!=ds) {ds_free_packs(d_video); d_video->id=-2; }
if(d_dvdsub && d_dvdsub!=ds) {ds_free_packs(d_dvdsub); d_dvdsub->id=-2; } if(d_dvdsub && d_dvdsub!=ds) {ds_free_packs(d_dvdsub); d_dvdsub->id=-2; }
// let's dump it! // let's dump it!
f=fopen(stream_dump_name?stream_dump_name:"stream.dump","wb"); f=fopen(stream_dump_name,"wb");
if(!f){ if(!f){
mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_CantOpenDumpfile); mp_msg(MSGT_CPLAYER,MSGL_FATAL,MSGTR_CantOpenDumpfile);
exit_player(MSGTR_Exit_error); exit_player(MSGTR_Exit_error);