1
mirror of https://github.com/mpv-player/mpv synced 2024-08-04 14:59:58 +02:00
mpv/demux
wm4 05e4df3f0c video/audio: always provide "proper" timestamps to libavcodec
Instead of passing through double float timestamps opaquely, pass real
timestamps. Do so by always setting a valid timebase on the
AVCodecContext for audio and video decoding.

Specifically try not to round timestamps to a too coarse timebase, which
could round off small adjustments to timestamps (such as for start time
rebasing or demux_timeline). If the timebase is considered too coarse,
make it finer.

This gets rid of the need to do this specifically for some hardware
decoding wrapper. The old method of passing through double timestamps
was also a bit questionable. While libavcodec is not supposed to
interpret timestamps at all if no timebase is provided, it was
needlessly tricky. Also, it actually does compare them with
AV_NOPTS_VALUE. This change will probably also reduce confusion in the
future.
2016-08-19 14:59:30 +02:00
..
codec_tags.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
codec_tags.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
cue.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
cue.h Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_cue.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_disc.c player: improve instant track switching 2016-08-06 15:47:04 +02:00
demux_edl.c demux_edl: adjust warnings and variable names 2016-05-23 15:23:27 +02:00
demux_lavf.c video/audio: always provide "proper" timestamps to libavcodec 2016-08-19 14:59:30 +02:00
demux_libarchive.c libarchive: unify entry iteration between stream/demux layers 2016-07-18 12:44:56 +02:00
demux_mf.c video/audio: always provide "proper" timestamps to libavcodec 2016-08-19 14:59:30 +02:00
demux_mkv_timeline.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_mkv.c demux: add per-track metadata 2016-08-12 21:39:32 +02:00
demux_null.c demux_null: fix segfault with --cache enabled 2016-03-05 00:56:55 +01:00
demux_playlist.c demux_playlist: recognize m3u8 as playlist extension 2016-05-17 18:18:00 +02:00
demux_rar.c Relicense some non-MPlayer source files to LGPL 2.1 or later 2016-01-19 18:36:06 +01:00
demux_raw.c video/audio: always provide "proper" timestamps to libavcodec 2016-08-19 14:59:30 +02:00
demux_timeline.c demux_timeline: enable refresh seeks in some situations 2016-08-07 13:53:34 +02:00
demux_tv.c demux: merge sh_video/sh_audio/sh_sub 2016-01-12 23:48:19 +01:00
demux.c demux: fix undefined behavior with ogg metadata update 2016-08-16 10:48:54 +02:00
demux.h demux: add per-track metadata 2016-08-12 21:39:32 +02:00
ebml.c mpv_talloc.h: rename from talloc.h 2016-01-11 21:05:55 +01:00
ebml.h Update license headers 2015-04-13 12:10:01 +02:00
matroska.h demux_mkv: remove indirection through defines 2015-06-19 21:41:57 +02:00
packet.c Rewrite ordered chapters and timeline stuff 2016-02-15 21:04:07 +01:00
packet.h Rewrite ordered chapters and timeline stuff 2016-02-15 21:04:07 +01:00
stheader.h video/audio: always provide "proper" timestamps to libavcodec 2016-08-19 14:59:30 +02:00
timeline.c demux: timeline: honor quit requests 2015-02-20 22:08:02 +01:00
timeline.h demux: timeline: honor quit requests 2015-02-20 22:08:02 +01:00