summaryrefslogtreecommitdiffstats
path: root/demux_asf.c
diff options
context:
space:
mode:
authorarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-15 03:40:37 +0000
committerarpi_esp <arpi_esp@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-04-15 03:40:37 +0000
commit2ba092874905669f0f8e8fda1b043c73e50db716 (patch)
treef6fb6813964153e16bad3a110c330a3f57ca7f5f /demux_asf.c
parent4eca33639f3d69767e15c92b35fc7387453ae126 (diff)
downloadmpv-2ba092874905669f0f8e8fda1b043c73e50db716.tar.bz2
mpv-2ba092874905669f0f8e8fda1b043c73e50db716.tar.xz
new stream selection code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@427 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'demux_asf.c')
-rw-r--r--demux_asf.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/demux_asf.c b/demux_asf.c
index 5f30496eab..9d9fed7c8c 100644
--- a/demux_asf.c
+++ b/demux_asf.c
@@ -21,25 +21,29 @@ static int demux_asf_read_packet(demuxer_t *demux,unsigned char *data,int len,in
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->video->id==-1)
+ if(avi_header.v_streams[id])
+ demux->video->id=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(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);
+ }
}
if(ds){