mirror of
https://github.com/mpv-player/mpv
synced 2025-02-16 12:17:12 +00:00
demux: fix timestamp type for seek calls
mpv/mplayer2/MPlayer use double for timestamps, but the demuxer API used float.
This commit is contained in:
parent
4b4bd9e5f7
commit
d1bb1bf8af
@ -114,7 +114,7 @@ typedef struct demuxer_desc {
|
||||
// The following functions are all optional
|
||||
int (*fill_buffer)(struct demuxer *demuxer); // 0 on EOF, otherwise 1
|
||||
void (*close)(struct demuxer *demuxer);
|
||||
void (*seek)(struct demuxer *demuxer, float rel_seek_secs, int flags);
|
||||
void (*seek)(struct demuxer *demuxer, double rel_seek_secs, int flags);
|
||||
int (*control)(struct demuxer *demuxer, int cmd, void *arg);
|
||||
} demuxer_desc_t;
|
||||
|
||||
|
@ -153,7 +153,7 @@ static void add_streams(demuxer_t *demuxer)
|
||||
reselect_streams(demuxer);
|
||||
}
|
||||
|
||||
static void d_seek(demuxer_t *demuxer, float rel_seek_secs, int flags)
|
||||
static void d_seek(demuxer_t *demuxer, double rel_seek_secs, int flags)
|
||||
{
|
||||
struct priv *p = demuxer->priv;
|
||||
|
||||
|
@ -822,7 +822,7 @@ static int demux_lavf_fill_buffer(demuxer_t *demux)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void demux_seek_lavf(demuxer_t *demuxer, float rel_seek_secs, int flags)
|
||||
static void demux_seek_lavf(demuxer_t *demuxer, double rel_seek_secs, int flags)
|
||||
{
|
||||
lavf_priv_t *priv = demuxer->priv;
|
||||
int avsflags = 0;
|
||||
|
@ -37,7 +37,7 @@
|
||||
|
||||
#define MF_MAX_FILE_SIZE (1024 * 1024 * 256)
|
||||
|
||||
static void demux_seek_mf(demuxer_t *demuxer, float rel_seek_secs, int flags)
|
||||
static void demux_seek_mf(demuxer_t *demuxer, double rel_seek_secs, int flags)
|
||||
{
|
||||
mf_t *mf = demuxer->priv;
|
||||
int newpos = (flags & SEEK_ABSOLUTE) ? 0 : mf->curr_frame - 1;
|
||||
|
@ -2706,7 +2706,7 @@ static struct mkv_index *seek_with_cues(struct demuxer *demuxer, int seek_id,
|
||||
return index;
|
||||
}
|
||||
|
||||
static void demux_mkv_seek(demuxer_t *demuxer, float rel_seek_secs, int flags)
|
||||
static void demux_mkv_seek(demuxer_t *demuxer, double rel_seek_secs, int flags)
|
||||
{
|
||||
mkv_demuxer_t *mkv_d = demuxer->priv;
|
||||
int64_t old_pos = stream_tell(demuxer->stream);
|
||||
|
@ -237,7 +237,7 @@ static int raw_fill_buffer(demuxer_t *demuxer)
|
||||
return 1;
|
||||
}
|
||||
|
||||
static void raw_seek(demuxer_t *demuxer, float rel_seek_secs, int flags)
|
||||
static void raw_seek(demuxer_t *demuxer, double rel_seek_secs, int flags)
|
||||
{
|
||||
struct priv *p = demuxer->priv;
|
||||
stream_t *s = demuxer->stream;
|
||||
|
@ -119,7 +119,7 @@ static double demux_packet_list_duration(struct demux_packet **pkts, int num_pkt
|
||||
}
|
||||
|
||||
static void demux_packet_list_seek(struct demux_packet **pkts, int num_pkts,
|
||||
int *current, float rel_seek_secs, int flags)
|
||||
int *current, double rel_seek_secs, int flags)
|
||||
{
|
||||
double ref_time = 0;
|
||||
if (*current >= 0 && *current < num_pkts) {
|
||||
@ -803,7 +803,7 @@ static int d_fill_buffer(struct demuxer *demuxer)
|
||||
return demux_add_packet(p->sh, dp);
|
||||
}
|
||||
|
||||
static void d_seek(struct demuxer *demuxer, float secs, int flags)
|
||||
static void d_seek(struct demuxer *demuxer, double secs, int flags)
|
||||
{
|
||||
struct priv *p = demuxer->priv;
|
||||
demux_packet_list_seek(p->pkts, p->num_pkts, &p->current, secs, flags);
|
||||
|
Loading…
Reference in New Issue
Block a user