comparison libmpdemux/demux_mpg.c @ 36800:f3c835ddce85

demuxers: ensure that stream ids are correctly initialized. This should fix missing video after r36778 and potentially other issues in relation with video stream switching.
author reimar
date Wed, 19 Feb 2014 23:01:15 +0000
parents e788bcd9d49b
children 576724706b75
comparison
equal deleted inserted replaced
36799:b24236587d70 36800:f3c835ddce85
1084 { 1084 {
1085 sh_video_t *sh_video=NULL; 1085 sh_video_t *sh_video=NULL;
1086 1086
1087 demuxer->audio->sh = NULL; // ES streams has no audio channel 1087 demuxer->audio->sh = NULL; // ES streams has no audio channel
1088 demuxer->video->sh = new_sh_video(demuxer,0); // create dummy video stream header, id=0 1088 demuxer->video->sh = new_sh_video(demuxer,0); // create dummy video stream header, id=0
1089 demuxer->video->id = 0;
1089 sh_video=demuxer->video->sh;sh_video->ds=demuxer->video; 1090 sh_video=demuxer->video->sh;sh_video->ds=demuxer->video;
1090 1091
1091 return demuxer; 1092 return demuxer;
1092 } 1093 }
1093 1094
1094 static demuxer_t *demux_mpg_gxf_open(demuxer_t *demuxer) { 1095 static demuxer_t *demux_mpg_gxf_open(demuxer_t *demuxer) {
1095 demuxer->audio->sh = NULL; 1096 demuxer->audio->sh = NULL;
1096 demuxer->video->sh = new_sh_video(demuxer,0); 1097 demuxer->video->sh = new_sh_video(demuxer,0);
1098 demuxer->video->id = 0;
1097 ((sh_video_t *)demuxer->video->sh)->ds = demuxer->video; 1099 ((sh_video_t *)demuxer->video->sh)->ds = demuxer->video;
1098 demuxer->priv = (void *) 0xffffffff; 1100 demuxer->priv = (void *) 0xffffffff;
1099 return demuxer; 1101 return demuxer;
1100 } 1102 }
1101 1103