mpv/demux
wm4 b477c68aa0 demux: workaround for -demuxer mpegts -correct-pts
Using -demuxer mpegts -correct-pts triggered the assertion in
ds_get_packet2(). This is not surprising, because the correct-pts code
was changed to accept _complete_ packets, while all the old demuxers
(including the mpegts demuxer) require you to use "partial" packet
reads, together with the video_read_frame(). (That function actually
parses video frames, so fragments of the original "packets" can be fed
to the decoder.)

However, it returns out demux_ts packet's are mostly useable. demux_ts
still adds an offset (i.e. ds->buffer_pos != 0) to the packets when
calling internal parser functions, such as in parse_es.c. While this is
unclean design due to mplayer's old video demuxing/decoding path, it can
be easily be made work by modifying the packet as returned by
ds_get_packet2(). We also have to change the packet freeing code, as
demux_packet->buffer doesn't have to point to the start of the memory
allocation anymore.

MPlayer handles this "correctly" because it doesn't have a function that
reads a complete packet.
2013-05-21 22:07:13 +02:00
..
asf.h
asfguid.h
asfheader.c core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
asfheader.h
aviheader.c core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
aviheader.h stream, demux: replace off_t with int64_t 2012-11-20 18:00:15 +01:00
aviprint.c
aviprint.h
codec_tags.c demux: fix big endian PCM in mkv with demux_mkv 2013-05-11 20:19:08 +02:00
codec_tags.h core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
demux.c demux: workaround for -demuxer mpegts -correct-pts 2013-05-21 22:07:13 +02:00
demux.h demux: remove retrieval of chapter end time 2013-05-06 23:11:11 +02:00
demux_asf.c core: use playback time to determine playback percent position 2013-02-26 02:01:48 +01:00
demux_avi.c demux: remove some unused sh_video_t fields 2013-04-20 23:28:27 +02:00
demux_cue.c
demux_edl.c
demux_lavf.c Merge branch 'audio_changes' 2013-05-12 21:47:55 +02:00
demux_mf.c demux_mf: fix crashes when '*' matches directories 2013-03-19 01:54:45 +01:00
demux_mkv.c demux_mkv: support dirac in mkv 2013-05-21 22:07:12 +02:00
demux_mng.c core: use playback time to determine playback percent position 2013-02-26 02:01:48 +01:00
demux_mpg.c sub, demux: identify subtitle types with the codec name 2013-04-20 23:28:27 +02:00
demux_packet.h demux: workaround for -demuxer mpegts -correct-pts 2013-05-21 22:07:13 +02:00
demux_rawaudio.c core: use channel map on demuxer level too 2013-05-12 21:24:55 +02:00
demux_rawvideo.c demux_rawvideo: allow setting video codec 2013-02-24 16:46:35 +01:00
demux_ts.c Fix some cppcheck / scan-build warnings 2013-05-06 23:11:11 +02:00
demux_ts.h
ebml.c demux_mkv: use a bounded buffer for block data 2013-04-20 23:28:22 +02:00
ebml.h demux_mkv: use a bounded buffer for block data 2013-04-20 23:28:22 +02:00
extension.c
matroska.h demux_mkv: support dirac in mkv 2013-05-21 22:07:12 +02:00
mf.c demux_mf: fix crashes when '*' matches directories 2013-03-19 01:54:45 +01:00
mf.h demux_mf: allow displaying single image files, various cleanups 2012-11-16 21:21:16 +01:00
mp3_hdr.c
mp3_hdr.h
mpeg_hdr.c
mpeg_hdr.h
ms_hdr.h
parse_es.c
parse_es.h
stheader.h Merge branch 'audio_changes' 2013-05-12 21:47:55 +02:00
video.c demux: remove some unused sh_video_t fields 2013-04-20 23:28:27 +02:00