Lines 947-952
Link Here
|
947 |
// last fragment! |
947 |
// last fragment! |
948 |
if(dp_hdr->len!=vpkg_length-vpkg_offset) |
948 |
if(dp_hdr->len!=vpkg_length-vpkg_offset) |
949 |
mp_msg(MSGT_DEMUX,MSGL_V,"warning! assembled.len=%d frag.len=%d total.len=%d \n",dp->len,vpkg_offset,vpkg_length-vpkg_offset); |
949 |
mp_msg(MSGT_DEMUX,MSGL_V,"warning! assembled.len=%d frag.len=%d total.len=%d \n",dp->len,vpkg_offset,vpkg_length-vpkg_offset); |
|
|
950 |
if (vpkg_offset > dp->len - sizeof(dp_hdr_t) - dp_hdr->len) vpkg_offset = dp->len - sizeof(dp_hdr_t) - dp_hdr->len; |
950 |
stream_read(demuxer->stream, dp_data+dp_hdr->len, vpkg_offset); |
951 |
stream_read(demuxer->stream, dp_data+dp_hdr->len, vpkg_offset); |
951 |
if((dp_data[dp_hdr->len]&0x20) && (sh_video->format==0x30335652)) --dp_hdr->chunks; else |
952 |
if((dp_data[dp_hdr->len]&0x20) && (sh_video->format==0x30335652)) --dp_hdr->chunks; else |
952 |
dp_hdr->len+=vpkg_offset; |
953 |
dp_hdr->len+=vpkg_offset; |
Lines 970-975
Link Here
|
970 |
// non-last fragment: |
971 |
// non-last fragment: |
971 |
if(dp_hdr->len!=vpkg_offset) |
972 |
if(dp_hdr->len!=vpkg_offset) |
972 |
mp_msg(MSGT_DEMUX,MSGL_V,"warning! assembled.len=%d offset=%d frag.len=%d total.len=%d \n",dp->len,vpkg_offset,len,vpkg_length); |
973 |
mp_msg(MSGT_DEMUX,MSGL_V,"warning! assembled.len=%d offset=%d frag.len=%d total.len=%d \n",dp->len,vpkg_offset,len,vpkg_length); |
|
|
974 |
if (len > dp->len - sizeof(dp_hdr_t) - dp_hdr->len) len = dp->len - sizeof(dp_hdr_t) - dp_hdr->len; |
973 |
stream_read(demuxer->stream, dp_data+dp_hdr->len, len); |
975 |
stream_read(demuxer->stream, dp_data+dp_hdr->len, len); |
974 |
if((dp_data[dp_hdr->len]&0x20) && (sh_video->format==0x30335652)) --dp_hdr->chunks; else |
976 |
if((dp_data[dp_hdr->len]&0x20) && (sh_video->format==0x30335652)) --dp_hdr->chunks; else |
975 |
dp_hdr->len+=len; |
977 |
dp_hdr->len+=len; |
Lines 992-997
Link Here
|
992 |
extra[0]=1; extra[1]=0; // offset of the first chunk |
994 |
extra[0]=1; extra[1]=0; // offset of the first chunk |
993 |
if(0x00==(vpkg_header&0xc0)){ |
995 |
if(0x00==(vpkg_header&0xc0)){ |
994 |
// first fragment: |
996 |
// first fragment: |
|
|
997 |
if (len > dp->len - sizeof(dp_hdr_t)) len = dp->len - sizeof(dp_hdr_t); |
995 |
dp_hdr->len=len; |
998 |
dp_hdr->len=len; |
996 |
stream_read(demuxer->stream, dp_data, len); |
999 |
stream_read(demuxer->stream, dp_data, len); |
997 |
ds->asf_packet=dp; |
1000 |
ds->asf_packet=dp; |