comparison libmpdemux/demux_ts.c @ 18464:4fd5519c1526

allocate correct extradata size
author nicodvb
date Fri, 12 May 2006 22:33:42 +0000
parents 557d188e915a
children 5262ede8f2e1
comparison
equal deleted inserted replaced
18463:11f8e670d7d3 18464:4fd5519c1526
921 ES_stream_t *es = priv->ts.pids[params.vpid]; 921 ES_stream_t *es = priv->ts.pids[params.vpid];
922 sh_video = new_sh_video(demuxer, 0); 922 sh_video = new_sh_video(demuxer, 0);
923 if(params.vtype == VIDEO_AVC && es->extradata && es->extradata_len) 923 if(params.vtype == VIDEO_AVC && es->extradata && es->extradata_len)
924 { 924 {
925 int w = 0, h = 0; 925 int w = 0, h = 0;
926 sh_video->bih = (BITMAPINFOHEADER *) calloc(1, sizeof(BITMAPINFOHEADER) + 4096); 926 sh_video->bih = (BITMAPINFOHEADER *) calloc(1, sizeof(BITMAPINFOHEADER) + es->extradata_len);
927 sh_video->bih->biSize= sizeof(BITMAPINFOHEADER) + es->extradata_len; 927 sh_video->bih->biSize= sizeof(BITMAPINFOHEADER) + es->extradata_len;
928 sh_video->bih->biCompression = params.vtype; 928 sh_video->bih->biCompression = params.vtype;
929 memcpy(sh_video->bih + 1, es->extradata, es->extradata_len); 929 memcpy(sh_video->bih + 1, es->extradata, es->extradata_len);
930 mp_msg(MSGT_DEMUXER,MSGL_DBG2, "EXTRADATA(%d BYTES): \n", es->extradata_len); 930 mp_msg(MSGT_DEMUXER,MSGL_DBG2, "EXTRADATA(%d BYTES): \n", es->extradata_len);
931 for(i = 0;i < es->extradata_len; i++) 931 for(i = 0;i < es->extradata_len; i++)