From ce82977ea152ea617b2e6c005b2bcfedb2a0e85c Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Thu, 9 Jan 2014 21:28:43 -0500 Subject: VIDEO: Improve support for multiple Bink audio tracks --- video/bink_decoder.cpp | 10 ++++++++++ video/bink_decoder.h | 2 ++ 2 files changed, 12 insertions(+) diff --git a/video/bink_decoder.cpp b/video/bink_decoder.cpp index 45dec0887b..bad34e8373 100644 --- a/video/bink_decoder.cpp +++ b/video/bink_decoder.cpp @@ -214,6 +214,16 @@ void BinkDecoder::readNextPacket() { frame.bits = 0; } +VideoDecoder::AudioTrack *BinkDecoder::getAudioTrack(int index) { + // Bink audio track indexes are relative to the first audio track + Track *track = getTrack(index + 1); + + if (!track || track->getTrackType() != Track::kTrackTypeAudio) + return 0; + + return (AudioTrack *)track; +} + BinkDecoder::VideoFrame::VideoFrame() : bits(0) { } diff --git a/video/bink_decoder.h b/video/bink_decoder.h index 08800c2223..fb2998fb6e 100644 --- a/video/bink_decoder.h +++ b/video/bink_decoder.h @@ -74,6 +74,8 @@ public: protected: void readNextPacket(); + bool supportsAudioTrackSwitching() const { return true; } + AudioTrack *getAudioTrack(int index); private: static const int kAudioChannelsMax = 2; -- cgit v1.2.3