Mercurial > mplayer.hg
comparison libmpdemux/demux_ts.c @ 22231:da19b4ccb83a
cosmetics
author | nicodvb |
---|---|
date | Sat, 17 Feb 2007 17:24:07 +0000 |
parents | 78ebc8dc4533 |
children | 3c9d0592f08a |
comparison
equal
deleted
inserted
replaced
22230:d655ce625259 | 22231:da19b4ccb83a |
---|---|
2458 } | 2458 } |
2459 | 2459 |
2460 return &(priv->pmt[i]); | 2460 return &(priv->pmt[i]); |
2461 } | 2461 } |
2462 } | 2462 } |
2463 } | 2463 } |
2464 } | 2464 } |
2465 } | 2465 } |
2466 | 2466 |
2467 return NULL; | 2467 return NULL; |
2468 } | 2468 } |
2526 { | 2526 { |
2527 int ret = 0; | 2527 int ret = 0; |
2528 | 2528 |
2529 if((*dp != NULL) && (*dp_offset > 0)) | 2529 if((*dp != NULL) && (*dp_offset > 0)) |
2530 { | 2530 { |
2531 ret = *dp_offset; | 2531 ret = *dp_offset; |
2532 resize_demux_packet(*dp, ret); //shrinked to the right size | 2532 resize_demux_packet(*dp, ret); //shrinked to the right size |
2533 ds_add_packet(ds, *dp); | 2533 ds_add_packet(ds, *dp); |
2534 mp_msg(MSGT_DEMUX, MSGL_DBG2, "ADDED %d bytes to %s fifo, PTS=%.3f\n", ret, (ds == demuxer->audio ? "audio" : (ds == demuxer->video ? "video" : "sub")), (*dp)->pts); | 2534 mp_msg(MSGT_DEMUX, MSGL_DBG2, "ADDED %d bytes to %s fifo, PTS=%.3f\n", ret, (ds == demuxer->audio ? "audio" : (ds == demuxer->video ? "video" : "sub")), (*dp)->pts); |
2535 if(si) | 2535 if(si) |
2536 { | 2536 { |
2537 float diff = (*dp)->pts - si->last_pts; | 2537 float diff = (*dp)->pts - si->last_pts; |
2538 float dur; | 2538 float dur; |
2539 | 2539 |
2540 if(abs(diff) > 1) //1 second, there's a discontinuity | 2540 if(abs(diff) > 1) //1 second, there's a discontinuity |
2541 { | 2541 { |
2542 si->duration += si->last_pts - si->first_pts; | 2542 si->duration += si->last_pts - si->first_pts; |
2543 si->first_pts = si->last_pts = (*dp)->pts; | 2543 si->first_pts = si->last_pts = (*dp)->pts; |
2544 } | 2544 } |
2545 else | 2545 else |
2546 { | 2546 { |
2547 si->last_pts = (*dp)->pts; | 2547 si->last_pts = (*dp)->pts; |
2548 } | 2548 } |
2549 si->size += ret; | 2549 si->size += ret; |
2550 dur = si->duration + (si->last_pts - si->first_pts); | 2550 dur = si->duration + (si->last_pts - si->first_pts); |
2551 | 2551 |
2552 if(dur > 0 && ds == demuxer->video) | 2552 if(dur > 0 && ds == demuxer->video) |
2553 { | 2553 { |
2554 ts_priv_t * priv = (ts_priv_t*) demuxer->priv; | 2554 ts_priv_t * priv = (ts_priv_t*) demuxer->priv; |
2555 if(dur > 1) //otherwise it may be unreliable | 2555 if(dur > 1) //otherwise it may be unreliable |
2556 priv->vbitrate = (uint32_t) ((float) si->size / dur); | 2556 priv->vbitrate = (uint32_t) ((float) si->size / dur); |
2557 } | 2557 } |
2558 } | 2558 } |
2559 } | 2559 } |
2560 | 2560 |
2561 *dp = NULL; | 2561 *dp = NULL; |
2562 *dp_offset = 0; | 2562 *dp_offset = 0; |
2563 | 2563 |
3099 if(flags & 2) // float seek 0..1 | 3099 if(flags & 2) // float seek 0..1 |
3100 newpos+=(demuxer->movi_end-demuxer->movi_start)*rel_seek_secs; | 3100 newpos+=(demuxer->movi_end-demuxer->movi_start)*rel_seek_secs; |
3101 else | 3101 else |
3102 { | 3102 { |
3103 // time seek (secs) | 3103 // time seek (secs) |
3104 | |
3105 if(! video_stats) // unspecified or VBR | 3104 if(! video_stats) // unspecified or VBR |
3106 newpos += 2324*75*rel_seek_secs; // 174.3 kbyte/sec | 3105 newpos += 2324*75*rel_seek_secs; // 174.3 kbyte/sec |
3107 else | 3106 else |
3108 newpos += video_stats*rel_seek_secs; | 3107 newpos += video_stats*rel_seek_secs; |
3109 } | 3108 } |
3150 i = sync_video_packet(d_video); | 3149 i = sync_video_packet(d_video); |
3151 if((sh_video->format == VIDEO_MPEG1) || (sh_video->format == VIDEO_MPEG2)) | 3150 if((sh_video->format == VIDEO_MPEG1) || (sh_video->format == VIDEO_MPEG2)) |
3152 { | 3151 { |
3153 if(i==0x1B3 || i==0x1B8) break; // found it! | 3152 if(i==0x1B3 || i==0x1B8) break; // found it! |
3154 } | 3153 } |
3155 else if(sh_video->format == VIDEO_MPEG4) | 3154 else if((sh_video->format == VIDEO_MPEG4) && (i==0x1B6)) |
3156 { | 3155 break; |
3157 if(i==0x1B6) break; // found it! | |
3158 } | |
3159 else if(sh_video->format == VIDEO_VC1 && (i==0x10E || i==0x10F)) | 3156 else if(sh_video->format == VIDEO_VC1 && (i==0x10E || i==0x10F)) |
3160 break; | 3157 break; |
3161 else //H264 | 3158 else //H264 |
3162 { | 3159 { |
3163 if((i & ~0x60) == 0x105) break; | 3160 if((i & ~0x60) == 0x105) break; |