changeset 549:c97496b240c1

new options: -dumpaudio and -dumpvideo
author arpi_esp
date Fri, 20 Apr 2001 18:28:13 +0000
parents c5c2d4e41a4a
children 58b24a998cb5
files cfg-mplayer.h mplayer.c
diffstat 2 files changed, 25 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/cfg-mplayer.h	Fri Apr 20 17:27:38 2001 +0000
+++ b/cfg-mplayer.h	Fri Apr 20 18:28:13 2001 +0000
@@ -62,6 +62,11 @@
 	{"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},
--- a/mplayer.c	Fri Apr 20 17:27:38 2001 +0000
+++ b/mplayer.c	Fri Apr 20 18:28:13 2001 +0000
@@ -497,6 +497,8 @@
 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 @@
 
 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...