# HG changeset patch # User reimar # Date 1251041562 0 # Node ID 940fb22fd9dde77ecfb85e287dcaf9d13aab07b0 # Parent a3e1ef1c76d0d04e0377a0ac2531a1e0705743e3 Reuse ds_get_packet in ds_get_packet_pts diff -r a3e1ef1c76d0 -r 940fb22fd9dd libmpdemux/demuxer.c --- a/libmpdemux/demuxer.c Sat Aug 22 19:30:19 2009 +0000 +++ b/libmpdemux/demuxer.c Sun Aug 23 15:32:42 2009 +0000 @@ -646,19 +646,12 @@ { int len; *pts = MP_NOPTS_VALUE; - if (ds->buffer_pos >= ds->buffer_size) { - if (!ds_fill_buffer(ds)) { - // EOF - *start = NULL; - return -1; - } - } + len = ds_get_packet(ds, start); + if (len < 0) + return len; // Return pts unless this read starts from the middle of a packet - if (!ds->buffer_pos) + if (len == ds->buffer_pos) *pts = ds->current->pts; - len = ds->buffer_size - ds->buffer_pos; - *start = &ds->buffer[ds->buffer_pos]; - ds->buffer_pos += len; return len; }