From 46075de1f579e4786ffad11bf786ae13d2d35f64 Mon Sep 17 00:00:00 2001 From: arpi_esp Date: Fri, 20 Apr 2001 18:28:13 +0000 Subject: [PATCH] new options: -dumpaudio and -dumpvideo git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@550 b3059339-0415-0410-9bf9-f77b7e298cf2 --- cfg-mplayer.h | 5 +++++ mplayer.c | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/cfg-mplayer.h b/cfg-mplayer.h index 2f6fccd2a1..cbfa8a47d2 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -62,6 +62,11 @@ struct config conf[]={ {"noni", &force_ni, CONF_TYPE_FLAG, 0, 1, 0}, {"aid", &audio_id, CONF_TYPE_INT, CONF_RANGE, 0, 256}, {"vid", &video_id, CONF_TYPE_INT, CONF_RANGE, 0, 256}, + + {"dumpfile", &stream_dump_name, CONF_TYPE_STRING, 0, 0, 0}, + {"dumpaudio", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 1}, + {"dumpvideo", &stream_dump_type, CONF_TYPE_FLAG, 0, 0, 2}, + // {"auds", &avi_header.audio_codec, CONF_TYPE_STRING, 0, 0, 0}, // {"vids", &avi_header.video_codec, CONF_TYPE_STRING, 0, 0, 0}, {"mc", &default_max_pts_correction, CONF_TYPE_FLOAT, CONF_RANGE, 0, 10}, diff --git a/mplayer.c b/mplayer.c index 746cdcbf9b..3cd631de6b 100644 --- a/mplayer.c +++ b/mplayer.c @@ -497,6 +497,8 @@ char *sub_name=NULL; float sub_delay=0; float sub_fps=0; int sub_auto = 1; +char stream_dump_name=NULL; +int stream_dump_type=0; //int user_bpp=0; #include "mixer.h" @@ -929,6 +931,24 @@ printf("[V] filefmt:%d fourcc:0x%X size:%dx%d fps:%5.2f ftime:=%6.4f\n", fflush(stdout); +if(stream_dump_type){ + FILE *f; + int len; + demux_stream_t *ds=(stream_dump_type==1)?d_audio:d_video; + demux_stream_t *ds2=(stream_dump_type!=1)?d_audio:d_video; + ds_free_packs(ds2); ds2->id=-2; // ignore this stream! + f=fopen(stream_dump_name?stream_dump_name:"stream.dump","wb"); + if(!f){ printf("Can't open dump file!!!\n");exit(1); } + while(!ds->eof){ + char* start; + int in_size=ds_get_packet(ds,&start); + if(in_size>0) fwrite(start,in_size,1,f); + } + fclose(f); + printf("core dumped :)\n"); + exit(1); +} + //================== Init AUDIO (codec) ========================== if(has_audio){ // Go through the codec.conf and find the best codec...