summaryrefslogtreecommitdiffstats
path: root/libmpdemux
Commit message (Collapse)AuthorAgeFilesLines
* Merge svn changes up to r29962Uoti Urpala2009-11-239-37/+33
|\
| * Finally rename the STREAM_SEEK define to MP_STREAM_SEEK, there are just too manyreimar2009-11-224-6/+6
| | | | | | | | | | | | | | name clashes, in particular with Windows headers (which define STREAM_SEEK as an enum type). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29962 b3059339-0415-0410-9bf9-f77b7e298cf2
| * av_alloc_format_context -> avformat_alloc_contextreimar2009-11-221-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29959 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Reuse buffer in priv context instead of allocating the 32kB probe bufferreimar2009-11-221-4/+3
| | | | | | | | | | | | | | on the stack. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29953 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Move 128kB buffer from stack to demuxer context.reimar2009-11-201-1/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29940 b3059339-0415-0410-9bf9-f77b7e298cf2
| * calloc instead of malloc+memset.reimar2009-11-201-2/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29939 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Silence two gcc warnings: suggest parentheses around && within ||cehoyos2009-11-181-2/+2
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29934 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Set display size in sh_video when decoding H264.cehoyos2009-11-161-0/+2
| | | | | | | | | | | | | | This fixes H264 VDPAU decoding with some native demuxers. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29920 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Use calloc instead of initializing each struct member individually to 0.reimar2009-11-161-22/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29914 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Try to detect broken files with unaligned chunks.reimar2009-11-162-0/+16
| | | | | | | | | | | | | | | | | | This patch hopefully makes them playable as long as they have and index without breaking any other files. Fixes http://samples.mplayerhq.hu/avi/invalid_unaligned.avi with native demuxer. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29913 b3059339-0415-0410-9bf9-f77b7e298cf2
* | core: Add support for decoder reordering of pts valuesUoti Urpala2009-11-211-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a mode where libavcodec's reordered_opaque feature is used to associate container packet timestamps with decoded frames. This should improve behavior at least for MPEG files with interlaced h264; the previous code does not cope well with the libavformat demuxer producing two field packets with separate timestamps but the libavcodec h264 decoder only producing a single output frame for those two packets (so half the timestamps have no associated output frame). The current libavformat mpeg demuxer seems to finally work with interlaced h264 files and produce valid timestamps which are useful with a mode like this. By default MPlayer now selects between this new mode and the old one automatically based on the number of timestamp problems they cause; by default the new mode is used if both seem to work. The new option -pts-association-mode can be used to force a particular mode. If correct-pts mode is disabled this has no effect on timing. Also remove the "EXPERIMENTAL" marker from the manpage description of -correct-pts.
* | Merge svn changes up to r29912Uoti Urpala2009-11-169-71/+70
|\|
| * Fix declarations in mp_taglists.h and include it in mp_taglists.c toreimar2009-11-112-3/+4
| | | | | | | | | | | | | | make such mismatches impossible in the future. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29901 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Allow lavf demuxer to also probe and play files < 32 kB (full probe buffer ↵reimar2009-11-101-2/+4
| | | | | | | | | | | | | | | | | | size). Based on patch by On2. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29882 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Calculate length of ASF files with more than 1 second precision.reimar2009-11-102-2/+2
| | | | | | | | | | | | | | Based on patch by On2. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29881 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Fix length calculation for ASF, preroll is in ms, play time in 100 ns.reimar2009-11-101-1/+1
| | | | | | | | | | | | | | Based on patch by On2 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29880 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove useless castreimar2009-11-101-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29879 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Free demuxer->teletext when closing the demuxer.reimar2009-11-101-0/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29874 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Allow demuxer lavf to export CODEC_ID_DVB_TELETEXT.cehoyos2009-11-071-0/+2
| | | | | | | | | | | | | | Patch by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29849 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Separate teletext from tv support.cehoyos2009-11-071-0/+3
| | | | | | | | | | | | | | Path by Francesco Lavra, francescolavra interfree it git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29848 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove pointless and broken (e.g. does not set aid and vid) -tsprog handlingreimar2009-11-071-22/+3
| | | | | | | | | | | | | | | | from lavf demuxer, mplayer.c makes sure IDENTIFY_PROGRAM is called with the right arguments, and that code actually works in contrast to the one in demux_open_lavf. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29847 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Remove an empty program if the one requested by IDENTIFY_PROGRAM does not existreimar2009-11-071-4/+4
| | | | | | | | | | | | | | instead of incorrectly claiming that the demuxer does not support programs. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29845 b3059339-0415-0410-9bf9-f77b7e298cf2
| * cosmetics: alphabetizecompn2009-11-031-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29820 b3059339-0415-0410-9bf9-f77b7e298cf2
| * 10l for breaking compilation. change eatgv to tgvcompn2009-11-031-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29819 b3059339-0415-0410-9bf9-f77b7e298cf2
| * add ffmpeg eatgv codeccompn2009-11-031-0/+1
| | | | | | | | | | | | | | patch by Jan Engelhardt jengelh ta medozas.de git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29816 b3059339-0415-0410-9bf9-f77b7e298cf2
| * demuxer.c: Add initialization missing from previous commituau2009-11-021-21/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Reimar's previous commit ("Unbreak the demuxer-specific code in video.c with e.g.") added the new field "non_interleaved" in demux_stream structs, but this field was not initialized anywhere. Under suitable circumstances this could cause a "Too many video/audio packets in the buffer" error and failing playback. Fix the problem by cleaning up the code that creates new instances of the struct. Now fields will be initialized to 0 by default. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29812 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Unbreak the demuxer-specific code in video.c with e.g.reimar2009-11-012-0/+8
| | | | | | | | | | | | | | | | | | | | -audiofile by moving the code to manually interleave subtitles to mp_common.c. video.c should still be changed to not be demuxer-specific anymore, it is bad practice but fully fixing it is non-trivial. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29810 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Find and take into account stream start time for ogg files.reimar2009-10-161-19/+34
| | | | | | | | | | | | | | | | | | | | | | This also makes the demuxing function set the keyframe flag for vorbis packets that aren't header packets and have a time stamp, even if we do not have vorbis_info struct yet. The reason for this is that header packets always have 0 as time stamp. Fixes bug #1585 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29776 b3059339-0415-0410-9bf9-f77b7e298cf2
* | demux_mkv: Stop moving FLAC extradata into stream packetsUoti Urpala2009-10-171-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Matroska demuxer didn't place FLAC codec extradata in the normal extradata field but instead constructed a fake data packet and inserted that at the start of the demuxer stream. Current FFmpeg FLAC decoder can read the data from the proper extradata field too, so use that mechanism instead. This fixes a problem with files that use ordered chapters to load external segments from other files that have FLAC audio. In that case there can be a seek before the audio decoder is first initialized, and the seek will flush all stream packets so the decoder would never see the inserted extra packet. That particular issue could be fixed by initializing the decoder before any seeks instead (and there could still be other similar problem cases where doing that would be more robust), but this change is still generally right. I think the previous code would also cause problems in case there are multiple audio streams; there's only a single demuxer stream used for data packets, meaning that a packet inserted for the sake of a secondary audio stream could be read by the codec of the default stream (possibly not FLAC at all) and the packet would not be available when switching to the secondary audio stream later.
* | Merge svn changes up to r29752Uoti Urpala2009-10-064-28/+13
|\| | | | | | | | | | | | | | | | | As part of merging subtitle-in-terminal changes make update_subtitles() only clear existing subtitles if called with the reset argument, and not try to set new ones. Later calls should set the needed new subtitles, and this change avoids some problems with trying to set subtitles when mp_property_sub() in command.c gets called from initialization code before full initialization.
| * Play TrueHD in BluRay with demuxer lavf.cehoyos2009-10-051-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29751 b3059339-0415-0410-9bf9-f77b7e298cf2
| * lavf: if seeking in the desired direction failed, also try in the opposite one,reimar2009-09-301-1/+4
| | | | | | | | | | | | | | | | otherwise we might end up at some random position (where lavf last ended up while trying to build the index). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29741 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Avoid void * arithmetic.reimar2009-09-301-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29740 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Simplify aac_get_sample_rate_indexreimar2009-09-301-24/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29739 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Check for grow_array allocation failure.reimar2009-09-301-0/+8
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29738 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Avoid a possible crash if num_cluster_pos is 0.reimar2009-09-301-1/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29737 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Check for integer overflow in grow_array.reimar2009-09-301-1/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29736 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Rearrange code of grow_array to make it easier to extend.reimar2009-09-301-2/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29735 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Avoid a memleak if realloc fails in grow_array.reimar2009-09-301-0/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29734 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Change grow_array argument from void ** to void *, this avoids a aliasingreimar2009-09-301-4/+5
| | | | | | | | | | | | | | | | violation (thus making gcc 4.4.x compile the code correctly) and allows to get rid of some casts at the expense of making the code less clear. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29733 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add 0x85 ad ID for DTS audio.diego2009-09-231-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29703 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Allow playback of dnxhd files, as produced by FFmpeg regression test.cehoyos2009-09-221-0/+1
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29700 b3059339-0415-0410-9bf9-f77b7e298cf2
* | demux_mkv: Fix memory leaks in attachment readingUoti Urpala2009-09-181-2/+10
| | | | | | | | | | | | | | | | When the attachment-reading code was changed to use demuxer_add_attachment it should have been changed to free its internally-allocated objects too, since demuxer_add_attachment creates copies of everything and leaves ownership of original objects to caller.
* | Merge svn changes up to r29684Uoti Urpala2009-09-166-22/+29
|\|
| * Get rid of useless indirection and use the demuxer argument directly instead ofreimar2009-09-141-2/+1
| | | | | | | | | | | | | | | | | | ds->demuxer. This makes it also work again with -audiofile without having to add more hacks to demux_demuxers. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29677 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Reduce verbosity if demuxer sets an info value to the same as the current value.reimar2009-09-141-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29676 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add w64 to list of preferred lavf formats (otherwise demux_audio incorrectlyreimar2009-09-101-0/+1
| | | | | | | | | | | | | | | | claims the Wave64 files but can not handle them). Patch by Daniel Verkamp [daniel drv nu]. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29668 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Sort preferred_list alphabetically since the order does not matter otherwise.reimar2009-09-101-6/+6
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29667 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add CODEC_ID_ADPCM_IMA_AMV to lavf codec_tag override list instead ofreimar2009-09-082-2/+1
| | | | | | | | | | | | | | reimplementing that functionality. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29664 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Make all mp_*_taglists const.reimar2009-09-081-3/+3
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29663 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Fix an endless loop if all programs are empty.reimar2009-09-081-0/+4
| | | | | | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29660 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Always register all streams from libavformat, not just those belonging to a ↵reimar2009-09-081-5/+3
| | | | | | | | | | | | program. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29657 b3059339-0415-0410-9bf9-f77b7e298cf2
| * Add support for lavf vqf demuxer and lavc TwinVQ decoder.vitor2009-09-073-1/+3
| | | | | | | | | | | | | | | | | | Also make lavf the default demuxer for vqf. Ok'ed by Compn on IRC. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29655 b3059339-0415-0410-9bf9-f77b7e298cf2
* | Merge svn changes up to r29644Uoti Urpala2009-09-047-29/+37
|\|
| * 100l, SIZE_MAX must be UINT_MAX to prevent an integer overflow later on,reimar2009-09-041-1/+1
| | | | | | | | | | | |