summaryrefslogtreecommitdiff
path: root/src/demuxers
AgeCommit message (Collapse)Author
2009-12-16TTA demux: use _x_demux_send_dataKelvie Wong
To reduce code duplication.
2010-04-09Minor indentation cleanup.Darren Salt
2010-04-09Add eac3 support to demux_tsJose Alberto Reguero
2010-04-02demux_tta: fix some dumb truncation errorsKelvie Wong
I don't know why I multiplied by integers _outside_ the parentheses. I blame late nights. Regardless, this fixes the skip every 24 seconds due to the truncation of FRAME_TIME. The input_time is also more accurate for e.g. stopping cue tracks.
2010-04-07Add video/mp2t (and the corresponding video/mp2p).Darren Salt
2010-03-23Demux EAC3 audio from matroskaPetri Hintukainen
(Sample: http://samples.mplayerhq.hu/Matroska/H264%2bEAC3.mkv )
2010-03-20demux: Fix the pts values for the TrueAudio demuxKelvie Wong
This makes seeking more accurate, I believe.
2010-03-22Add support for Ogg tag 'DISCNUMBER' and ID3 tag 'TPOS'.Darren Salt
2010-02-07Fix Flash video with aac not playing audio (HTTP etc.)Martin Jacobs
2010-02-04Extend Ogg metadata handling.Darren Salt
2010-01-26Fix AAC in FLV.Darren Salt
This bug appears to be a variety of aliasing bug, caused by the compiler not knowing that buffer is written to by ...->read(). On i386, the bug shows up because buffer[0] has to be re-read when extracting the sample rate etc.; on amd64, it works fine because the value was cached in a register. The problem is avoided by not read()ing into any storage more than once while it remains in scope.
2010-01-21Revert a038e9625e79 (breaks A/V sync).Darren Salt
2010-01-20demux_ts: pass each pts just once to buf (and to decoder)Reinhard Nißl
The content of large PES packets must be split into several input buffers. The current code attaches the PTS of the PES packet to all input buffers. A decoder must attach PTS to the image for example which starts next in the data. If the same PTS appears on several input buffers, a decoder might buffer the PTS and attach it to the next image for which the broadcaster didn't supply a PTS. Finally xine's metronom gets confused about those incorrect PTS and tries to correct that issue which usually makes things even more worse. By passing on PTS just once to the decoder it is less likely that the decoder behaves incorrect. I must admit that this is the second approach to fix this issue. The first approach slipped through into a totally different changeset and instead of passing the PTS just on the first buf, it passed it on the last buf of a PES packet which was totally wrong. This incorrect approach has been reverted recently.
2010-01-17"Fix" playback of 24-bit FLAC.Darren Salt
We pretend that it's 16-bit to avoid "audio device unavailable" (ALSA). Also, the clock is a bit fast.
2010-01-16Clean up properly after QTL parsing.Darren Salt
2010-01-16Added basic support for .qtl (Quicktime media link).Darren Salt
2010-01-12Demux BluRay DTS (stream 0x82)Petri Hintukainen
2010-01-12Do not reset decoder flags from parse_pes_header() when setting ↵Petri Hintukainen
BUF_FLAG_FRAME_END. Fixes BluRay PCM audio when PES payload size is less than 2048 bytes.
2010-01-06Ignore unsupported BluRay SPU streams (interactive (0x91) and text (0x92))Petri Hintukainen
2010-01-06Demux BluRay PCM audioPetri Hintukainen
2009-12-15TTA demux: Fix the calculation of the stream length.Kelvie Wong
Its resolution was in frames (+/- ~1 second), now it is calculated from the number of samples, as it should be.
2009-12-13TTA demux: Fix a buffer overflowKelvie Wong
It can be the case that the header is larger than buf->max_size (8 kilobytes), especially for slightly larger files. This sends them in parts so we don't overfill the buffer.
2009-12-11TTA demux: fix buffer->extra_info->total_timeKelvie Wong
Supposed to be in milliseconds; totalframes is only approx. total seconds.
2009-12-11TTA demux: don't read past the last frame.Kelvie Wong
I don't think whoever wrote this played a TTA file all the way to the end.
2009-12-06Finish implementing the TTA demuxerKelvie Wong
* Return the correct stream length * Return the current time * Implement seeking --- src/demuxers/demux_tta.c | 47 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 41 insertions(+), 6 deletions(-) --HG-- extra : transplant_source : D%27%B7%5C%C4%95Ra%90E%DD%99IG%CF%5D%21%27zN
2009-12-06Fix a couple of memory leaks.Kelvie Wong
--- src/demuxers/demux_flac.c | 1 + src/demuxers/demux_tta.c | 1 + 2 files changed, 2 insertions(+), 0 deletions(-) --HG-- extra : transplant_source : C%21X%B8%E1p%D2%8E%E0%26%CA%3E%09%8B%09%16%19%C1CQ
2009-12-05Add mimetypes for the TTA demuxerKelvie Wong
I've noticed that a lot of the demuxers don't have mimetypes -- Nokia and KDE's Phonon (when using the Xine backend, and consequently this bothers all Amarok users) depend on the mimetypes to see what types of files it can process. This adds support for the True Audio data type, which scratches my itch; I'm sure there are several other demuxers that need a similar change.
2009-12-03Linkage error on minggw+msys when building demux_mpeg: libintl_printf is ↵Carlo Bramini
undefined.
2009-11-30Trim trailing space & reduce space+tab.Darren Salt
2009-11-30Demux BluRay DTS and TrueHD audio streamsPetri Hintukainen
2009-11-28Fixed PMT parsing when PMT does not fit in single TS packet and PAT is in ↵Petri Hintukainen
the middle of PMT packets. Parsing PAT resets PMT buffer. If PMT does not fit to single TS packet and PAT packet is scheduled in middle of PMT packets, PMT is never parsed and TS demuxer falls to PID auto detection mode. This moves PMT buffer reset to the case where PMT PID changes and all PIDs are reset. [As far as I can see, worst regression can be invalid PMT sections when stream changes, new PMT pid equals to old one and demuxer is not reset(?), but this should be OK as PMT checksums are always checked.]
2009-11-28Honour max. number of SPU tracksPetri Hintukainen
2009-11-19Increase max number of audio and SPU tracksPetri Hintukainen
2009-11-19Demux VC-1 video (stream type 0xea)Petri Hintukainen
2009-11-03Fixed buffer overflow. Removed scratch buffer from demux_mpeg_block_s.Petri Hintukainen
2009-10-15Make the XML lexer and parser re-entrantMatt Kraai
2009-10-13#include guards and __attribute__ fixupsCarlo Bramini
2009-08-31Fixed selecting HDMV SPU trackPetri Hintukainen
2009-08-31Demux HDMV/BluRay bitmap subtitlesPetri Hintukainen
2009-08-31added spu_type parameter to demux_send_special_spu_buf()Petri Hintukainen
2009-08-31Fixed audio. HDMV uses PES stream 0xfd instead of 0xbd.Petri Hintukainen
2009-08-31Support for BluRay/HDMV 192-byte TS packetsPetri Hintukainen
2009-08-31PKT_SIZE --> this->pkt_size (in selected places)Petri Hintukainen
2009-08-31Cosmetics. Splitted detect_ts() from open_plugin().Petri Hintukainen
2009-10-10Extended Matroska demuxerNicos Gollan
This adds the following functionality: * Read segment title and uses that for display in a UI There is an issue when the file does not specify a segment title. It will then fall back to a generic "(No title)", since I could not find a way to retrieve the file name the player shows. * More implementation files Added: - demux_matroska.h - demux_matroska_chapters.h This breaks the OO-ish C visibility a bit, since there need to be public (i.e. non-static) interfaces between the units. * Chapter Handling I did a rough initial implementation of Matroska's "editions" system. The demuxer will parse all editions from the header, and for each edition the top level of chapters. This is not quite the full spec as Matroska intends, but it should work fine as long as there is only a single edition and all editions/chapters only reference only one (the first and only) segment in the stream, and are supposed to apply to all tracks therein. When the stream has chapters, the demuxer will now handle skip events from the player to jump between chapters.
2009-10-10Fix parsing of ID3 tag content lengths.Darren Salt
2009-10-10MOD reported zero-length workaround (avoids divide-by-0).Darren Salt
2009-08-26Add a user agent & protocol hack to allow viewing of Apple film trailers.Darren Salt
2009-06-11Add some missing BUF_FLAG_PREVIEW in preview_mode.Reinhard Nißl
--HG-- extra : transplant_source : %F5K%AE%D3f%EFQ%F5U%E5%FE%BB%1E.%2Beh%C5%20%7F
2009-05-31Fix seeking in large raw DV filesScott Bigham
start_pos is of type off_t, and since we compile with D_FILE_OFFSET_BITS=64, -off_t is a 64-bit long long int, so you'd think we'd be fine here -- but we aren't, because start_time, this->duration and this->frame_size are all 32-bit ints, which means that the computed seek position gets truncated to 32 bits before it's assigned to start_pos. The simple solution is to cast start_time to off_t, expanding the computation to 64 bits in time to avoid truncation.