mirror of
https://gitlab.com/mbunkus/mkvtoolnix.git
synced 2025-02-26 08:22:31 +00:00
Reverse track encodings even if the pass-through packetizer is used
This commit is contained in:
parent
3f71d3fafd
commit
c98ee6e68c
@ -9,6 +9,11 @@
|
||||
* mkvmerge: bug fix: Fixed access to uninitialized memory when
|
||||
reading DTS tracks from AVI and Matroska files.
|
||||
|
||||
2010-06-10 Moritz Bunkus <moritz@bunkus.org>
|
||||
|
||||
* mkvmerge: bug fix: The Matroska reader did not handle compressed
|
||||
tracks correctly if the passthrough packetizer was used.
|
||||
|
||||
2010-06-08 Moritz Bunkus <moritz@bunkus.org>
|
||||
|
||||
* docs: Added a Dutch translation for the man pages by René
|
||||
|
@ -2011,9 +2011,10 @@ kax_reader_c::process_simple_block(KaxCluster *cluster,
|
||||
// and stuff. Just pass everything through as it is.
|
||||
int i;
|
||||
for (i = 0; i < (int)block_simple->NumberFrames(); i++) {
|
||||
DataBuffer &data = block_simple->GetBuffer(i);
|
||||
packet_t *packet = new packet_t(new memory_c((unsigned char *)data.Buffer(), data.Size(), false),
|
||||
m_last_timecode + i * frame_duration, block_duration, block_bref, block_fref);
|
||||
DataBuffer &data_buffer = block_simple->GetBuffer(i);
|
||||
memory_cptr data(new memory_c(data_buffer.Buffer(), data_buffer.Size(), false));
|
||||
block_track->content_decoder.reverse(data, CONTENT_ENCODING_SCOPE_BLOCK);
|
||||
packet_t *packet = new packet_t(data, m_last_timecode + i * frame_duration, block_duration, block_bref, block_fref);
|
||||
|
||||
((passthrough_packetizer_c *)PTZR(block_track->ptzr))->process(packet_cptr(packet));
|
||||
}
|
||||
@ -2122,9 +2123,10 @@ kax_reader_c::process_block_group(KaxCluster *cluster,
|
||||
|
||||
int i;
|
||||
for (i = 0; i < (int)block->NumberFrames(); i++) {
|
||||
DataBuffer &data = block->GetBuffer(i);
|
||||
packet_t *packet = new packet_t(new memory_c((unsigned char *)data.Buffer(), data.Size(), false),
|
||||
m_last_timecode + i * frame_duration, block_duration, block_bref, block_fref);
|
||||
DataBuffer &data_buffer = block->GetBuffer(i);
|
||||
memory_cptr data(new memory_c(data_buffer.Buffer(), data_buffer.Size(), false));
|
||||
block_track->content_decoder.reverse(data, CONTENT_ENCODING_SCOPE_BLOCK);
|
||||
packet_t *packet = new packet_t(data, m_last_timecode + i * frame_duration, block_duration, block_bref, block_fref);
|
||||
packet->duration_mandatory = duration != NULL;
|
||||
|
||||
if (NULL != codec_state)
|
||||
|
Loading…
Reference in New Issue
Block a user