mirror of https://git.ffmpeg.org/ffmpeg.git
Add a read_timestamp function to ogg demuxer
Originally committed as revision 10701 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
03d3cab876
commit
a1f29b959b
|
@ -659,21 +659,28 @@ ogg_read_seek (AVFormatContext * s, int stream_index, int64_t target_ts,
|
|||
|
||||
}
|
||||
|
||||
#if 0
|
||||
static int64_t
|
||||
ogg_read_timestamp (AVFormatContext * s, int stream_index, int64_t * pos_arg,
|
||||
int64_t pos_limit)
|
||||
{
|
||||
ogg_t *ogg = s->priv_data;
|
||||
ByteIOContext *bc = &s->pb;
|
||||
int64_t pos, pts;
|
||||
|
||||
if (*pos_arg < 0)
|
||||
return AV_NOPTS_VALUE;
|
||||
|
||||
pos = *pos_arg;
|
||||
int64_t pts = AV_NOPTS_VALUE;
|
||||
int i;
|
||||
url_fseek(bc, *pos_arg, SEEK_SET);
|
||||
while (url_ftell(bc) < pos_limit && !ogg_read_page (s, &i)) {
|
||||
if (ogg->streams[i].granule != -1 && ogg->streams[i].granule != 0 &&
|
||||
ogg->streams[i].codec && i == stream_index) {
|
||||
pts = ogg_gptopts(s, i, ogg->streams[i].granule);
|
||||
// FIXME: this is the position of the packet after the one with above
|
||||
// pts.
|
||||
*pos_arg = url_ftell(bc);
|
||||
break;
|
||||
}
|
||||
}
|
||||
ogg_reset(ogg);
|
||||
return pts;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int ogg_probe(AVProbeData *p)
|
||||
{
|
||||
|
@ -694,6 +701,6 @@ AVInputFormat ogg_demuxer = {
|
|||
ogg_read_packet,
|
||||
ogg_read_close,
|
||||
ogg_read_seek,
|
||||
// ogg_read_timestamp,
|
||||
ogg_read_timestamp,
|
||||
.extensions = "ogg",
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue