summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_mkv.c
Commit message (Collapse)AuthorAgeFilesLines
* Matroska seeking fixesuau2007-03-161-12/+22
| | | | | | | | | | | | | | | | | If a relative seek forward went past the last index position the Matroska demuxer did not seek to any index position. It did however set the mkv_d->skip_to_timecode variable which meant that the next fill_buffer() call would read from the current position until the target position (probably the end of the file). Fix this by changing the code to seek to the last index position if that is between the current and target positions. Also change backwards relative seek to accept an exactly matching index position (<= vs <) and reorganize the seeking conditionals to allow making the above change without turning the code into a complete mess. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22634 b3059339-0415-0410-9bf9-f77b7e298cf2
* Use explicit path for headers from the loader/ directory.diego2007-03-151-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22624 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add explicit location for headers from the stream/ directory.diego2007-03-151-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22623 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove subcp_open/subcp_close from mkv demuxer, they are useless since a ↵reimar2007-03-051-7/+0
| | | | | | long time. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22463 b3059339-0415-0410-9bf9-f77b7e298cf2
* Use libavutil's av_clip* instead of unreadable MIN/MAX chaos.reimar2007-03-011-13/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22395 b3059339-0415-0410-9bf9-f77b7e298cf2
* Make sure sub->sh is set when a subtitle is selectedreimar2007-02-081-0/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22175 b3059339-0415-0410-9bf9-f77b7e298cf2
* Another round of subtitle code cleanupreimar2007-02-051-54/+12
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22155 b3059339-0415-0410-9bf9-f77b7e298cf2
* Make mkv demuxer use ffmpeg LZO as well.reimar2007-01-311-17/+13
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22099 b3059339-0415-0410-9bf9-f77b7e298cf2
* Simplify and make lzo decompression code more similar to zlib one.reimar2007-01-271-2/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22029 b3059339-0415-0410-9bf9-f77b7e298cf2
* Forgotten free on errorreimar2007-01-271-0/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22028 b3059339-0415-0410-9bf9-f77b7e298cf2
* *dest = malloc (*size); is useless directly before *dest = realloc (*dest, ↵reimar2007-01-271-1/+1
| | | | | | *size); git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22026 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove comment printed by -demuxer help, it belongs in the copyright header.diego2007-01-251-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22015 b3059339-0415-0410-9bf9-f77b7e298cf2
* Subtitle handling cleanup: factor out code for parsing embedded subtitlesreimar2007-01-061-152/+13
| | | | | | | and adding and removing of lines in subtitle struct into subreader.c. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21845 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix display of multiple simultaneous subtitles without libass.uau2006-12-211-1/+3
| | | | | | | Was broken in r19649. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21720 b3059339-0415-0410-9bf9-f77b7e298cf2
* VobSub tracks cannot be handled by libass, do not mark them with 'a'.eugeni2006-12-151-1/+2
| | | | | | | This fixes the bug with VobSub not being displayed with -ass. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21625 b3059339-0415-0410-9bf9-f77b7e298cf2
* Rename: ass_process_font -> ass_add_font.eugeni2006-12-031-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21471 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove superfluous bswap.h include.diego2006-12-021-1/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21437 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmetics: indentation fix.eugeni2006-11-231-10/+10
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21182 b3059339-0415-0410-9bf9-f77b7e298cf2
* Generalize subtitle switching, demux_ogg does not need a special casereimar2006-11-191-20/+0
| | | | | | | anymore and demux_mov works now, too. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21054 b3059339-0415-0410-9bf9-f77b7e298cf2
* Don't spam the console with timestamps (non-error messages printed every rtogni2006-11-141-2/+2
| | | | | | | frame should be lower than V level) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20937 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix extradata passing to lavc RV20 decoderrtogni2006-11-141-13/+7
| | | | | | | | | | | | Pass video codec extradata unchanged from demux_real, sync vd_realvid to the new format Sync mkv demuxer to the changes above (cmsg24 extradata was totally broken before) Detect cmsg24 size from extradata (was fixed) Based on a patch by elupus >> elupus >a< ecce se << git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20936 b3059339-0415-0410-9bf9-f77b7e298cf2
* Make subtitle stream handling more similar to audio and video streams.reimar2006-11-131-6/+8
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20888 b3059339-0415-0410-9bf9-f77b7e298cf2
* If parsing a seek head fails then mplayer should try continue parsing the ↵mosu2006-11-071-0/+9
| | | | | | file after the seek head. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20750 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix index-based seeking in audio-only files, fixes bug #621reimar2006-11-051-1/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20728 b3059339-0415-0410-9bf9-f77b7e298cf2
* add MSGTR_MPDEMUX_MKV for demux_mkv.ckraymer2006-11-051-38/+32
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20696 b3059339-0415-0410-9bf9-f77b7e298cf2
* Libass interface reworked:eugeni2006-10-281-3/+3
| | | | | | | | | - ass_instance_t renamed to ass_renderer_t - ass_library_t introduced - use of mplayer-specific global variables limited to ass_mp.c git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20493 b3059339-0415-0410-9bf9-f77b7e298cf2
* Implement -noidx since index can use quite a bit of memory, esp. when using ↵reimar2006-10-151-0/+6
| | | | | | valgrind. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20230 b3059339-0415-0410-9bf9-f77b7e298cf2
* Cosmeticsreimar2006-10-121-5/+3
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20182 b3059339-0415-0410-9bf9-f77b7e298cf2
* strncpy->strlcpyreimar2006-10-121-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20181 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove useless return; at end of functionreimar2006-10-121-1/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20180 b3059339-0415-0410-9bf9-f77b7e298cf2
* Simplify demux_mkv_get_sub_langreimar2006-10-121-14/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20179 b3059339-0415-0410-9bf9-f77b7e298cf2
* modifications pointed out by reimar doffingerptt2006-10-121-17/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20174 b3059339-0415-0410-9bf9-f77b7e298cf2
* added OSD audio switching visualizationptt2006-10-111-0/+34
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20162 b3059339-0415-0410-9bf9-f77b7e298cf2
* More possible memleaks.reimar2006-10-111-0/+7
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20161 b3059339-0415-0410-9bf9-f77b7e298cf2
* Avoid memleak on error while reading attachments or multiplereimar2006-10-111-0/+4
| | | | | | | MATROSKA_ID_FILEDATA parts. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20160 b3059339-0415-0410-9bf9-f77b7e298cf2
* Simplify (by using realloc with NULL parameter) and refactor code to growreimar2006-10-101-18/+15
| | | | | | | array in 32-increments git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20146 b3059339-0415-0410-9bf9-f77b7e298cf2
* Free track->language before assigning new valuereimar2006-10-091-0/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20143 b3059339-0415-0410-9bf9-f77b7e298cf2
* Missing (in close function)/misplaced free for track structure itself.reimar2006-10-091-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20142 b3059339-0415-0410-9bf9-f77b7e298cf2
* Free track data if error occurs while reading trackentryreimar2006-10-091-30/+41
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20141 b3059339-0415-0410-9bf9-f77b7e298cf2
* Free track encodings on error or demuxer closereimar2006-10-091-4/+23
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20139 b3059339-0415-0410-9bf9-f77b7e298cf2
* replace malloc+memset by callocreimar2006-10-091-8/+4
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20136 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove cast of realloc result missed in last patchreimar2006-10-091-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20135 b3059339-0415-0410-9bf9-f77b7e298cf2
* Remove unneeded casts for malloc/realloc callsreimar2006-10-091-44/+43
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20134 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add matroska v2 (SimpleBlock) support.eugeni2006-09-251-8/+45
| | | | | | | Patch by Federico Menarini (federico d menarini a gmail d com). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19983 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix r19815: mkv_d->duration could be assigned an uninitialized value.eugeni2006-09-131-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19818 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix seeking in Matroska files with non-default TimecodeScale value.eugeni2006-09-121-1/+2
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19817 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix block duration calculation in mkv demuxer.eugeni2006-09-121-0/+1
| | | | | | | According to specs, BlockDuration value is based on TimecodeScale. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19816 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix movie duration calculation in case when TimecodeScale element comes aftereugeni2006-09-121-5/+9
| | | | | | | Duration element. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19815 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix crash on DEMUXER_CTRL_SWITCH_AUDIO introduced by aid_vid_mismatch patchreimar2006-09-031-25/+14
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19651 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add support for rendering matroska plaintext subtitles with libass.eugeni2006-09-021-4/+28
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19649 b3059339-0415-0410-9bf9-f77b7e298cf2
* Matroska subtitles are always utf-8, no need to recode them.eugeni2006-09-021-3/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19648 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix read beyond the end of allocated memory block.eugeni2006-09-021-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19647 b3059339-0415-0410-9bf9-f77b7e298cf2
* Display track names in matroska files.eugeni2006-09-021-1/+25
| | | | | | | Patch by Paul Lebedev _paul d lebedev a gmail d com_. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19646 b3059339-0415-0410-9bf9-f77b7e298cf2
* Extract "application/x-font" attachments from matroska, in additioneugeni2006-09-011-1/+2
| | | | | | | to "application/x-truetype-font". They usually contain Type1 fonts. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19627 b3059339-0415-0410-9bf9-f77b7e298cf2
* Get rid of demux_aid_vid_mismatch mess.reimar2006-08-261-13/+16
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19546 b3059339-0415-0410-9bf9-f77b7e298cf2
* SSA/ASS parser reworked, with 2 main results:eugeni2006-08-221-2/+2
| | | | | | | | support for script embedded fonts (fonts, uuencoded directly into script) added; matroska interface functions have got more sensible names. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19498 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix seeking in matroska files when timecodes do not start from zero.eugeni2006-08-181-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19436 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add matroska chapter seeking capability.eugeni2006-08-061-33/+50
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19348 b3059339-0415-0410-9bf9-f77b7e298cf2
* Native MPEG4 SP/ASP/AP support in Matroska.rathann2006-07-221-0/+13
| | | | | | | Patch by Aurelien Jacobs and myself. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19159 b3059339-0415-0410-9bf9-f77b7e298cf2
* more c++ decl craprfelker2006-07-101-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18989 b3059339-0415-0410-9bf9-f77b7e298cf2
* Initial libass release (without mencoder support).eugeni2006-07-071-3/+200
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18942 b3059339-0415-0410-9bf9-f77b7e298cf2
* Rename mkv_sh_sub_t to sh_sub_t, move it to demuxer.h.eugeni2006-07-071-5/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18939 b3059339-0415-0410-9bf9-f77b7e298cf2
* Add a new video pts tracking mode, enabled by option -correct-pts.uau2006-07-061-3/+3
| | | | | | | | | | | | | | This mode has the following differences: - Video timing is correct for streams with B frames, at least with some demuxers. - Video filters can modify frame timestamps and insert new frames, and removing frames is handled better than before. - Some things are known to break, it's not usable as the default yet. Things should work as before when the -correct-pts option is not used. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18922 b3059339-0415-0410-9bf9-f77b7e298cf2
* rm unnecesary casts from void* - part 4reynaldo2006-07-031-5/+5
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18890 b3059339-0415-0410-9bf9-f77b7e298cf2
* feed any audio track present in the mux; switch to any of the available ↵nicodvb2006-06-191-29/+36
| | | | | | audio tracks git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18757 b3059339-0415-0410-9bf9-f77b7e298cf2
* Change free_sh_audio() to take demuxer and stream id as parametersuau2006-06-141-2/+2
| | | | | | | | | | | | | | (same as new_sh_audio()) instead of sh_audio_t *, use those to remove the pointer from demuxer->a_streams[] before freeing it. Some demuxers use free_sh_audio() to undo the creation of an already-allocated audio stream in case of error. These uses were unsafe since free_sh_audio() freed the data structure but left the pointer in demuxer->a_streams[], leading to double free later in free_demuxer() (and perhaps use of the freed stream before that, I didn't check). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18711 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix potential integer overflows in memory allocation.rtogni2006-06-041-0/+3
| | | | | | | Patch by Rich and me git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18559 b3059339-0415-0410-9bf9-f77b7e298cf2
* fix parsing of vobsub private data, patch by Evgeniy Stepanov <eugeni P ↵gpoirier2006-05-141-0/+1
| | | | | | | | | | | stepanov A gmail P com> Original thread: Date: May 14, 2006 12:28 AM Subject: [MPlayer-dev-eng] [BUG][PATCH] parsing of vobsub private data in mkv probably broken git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18508 b3059339-0415-0410-9bf9-f77b7e298cf2
* Unconditionally compile the Matroska demuxer.diego2006-05-081-3/+0
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18405 b3059339-0415-0410-9bf9-f77b7e298cf2
* Get ride of the several if(identify) messy lines and rearangment of some of ↵reynaldo2006-04-241-12/+5
| | | | | | the output, both patches by Kiriuja mplayer-patches AT en-directo_net, his changes are barely unrelated, nevertheless Im commiting them thogeter just for the sake of my mental healt, I had both patches already applied on my local three git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18238 b3059339-0415-0410-9bf9-f77b7e298cf2
* Do not give bogus timestamps for laced packets with no default duration. ↵mosu2006-04-241-0/+4
| | | | | | Patch by Uoti Urpala ( uoti ! urpala () pp1 ! inet ! fi ). git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18237 b3059339-0415-0410-9bf9-f77b7e298cf2
* 10l, keyframes must have tag 0x10, not 1.reimar2006-04-141-1/+1
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18097 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix RealAudio codecs (add descrambling)rtognimp2006-04-031-10/+151
| | | | git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18037 b3059339-0415-0410-9bf9-f77b7e298cf2
* Fix for playing RealVideo on PPC/big endian processors. Patch by Emanuele ↵mosu2006-03-221-0/+14