[xiph-commits] r10270 -
branches/oggdsf_new_demux/src/lib/codecs/vorbis/filters/dsfVorbisDecoder
illiminable at svn.xiph.org
illiminable at svn.xiph.org
Sun Oct 23 04:44:09 PDT 2005
Author: illiminable
Date: 2005-10-23 04:44:05 -0700 (Sun, 23 Oct 2005)
New Revision: 10270
Modified:
branches/oggdsf_new_demux/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
Log:
* Pass the forced headers through to libfishsound
Modified: branches/oggdsf_new_demux/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
===================================================================
--- branches/oggdsf_new_demux/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp 2005-10-23 11:39:20 UTC (rev 10269)
+++ branches/oggdsf_new_demux/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp 2005-10-23 11:44:05 UTC (rev 10270)
@@ -279,30 +279,36 @@
case VSS_SEEN_NOTHING:
if (strncmp((char*)inCodecHeaderPacket->packetData(), "\001vorbis", 7) == 0) {
//TODO::: Possibly verify version
- mSetupState = VSS_SEEN_BOS;
- return IOggDecoder::AHR_MORE_HEADERS_TO_COME;
- } else {
- return IOggDecoder::AHR_INVALID_HEADER;
+ if (fish_sound_decode(mFishSound, inCodecHeaderPacket->packetData(), inCodecHeaderPacket->packetSize()) >= 0) {
+ mSetupState = VSS_SEEN_BOS;
+ return IOggDecoder::AHR_MORE_HEADERS_TO_COME;
+ }
}
- break;
+ return IOggDecoder::AHR_INVALID_HEADER;
+
+
case VSS_SEEN_BOS:
if (strncmp((char*)inCodecHeaderPacket->packetData(), "\003vorbis", 7) == 0) {
+ if (fish_sound_decode(mFishSound, inCodecHeaderPacket->packetData(), inCodecHeaderPacket->packetSize()) >= 0) {
+ mSetupState = VSS_SEEN_COMMENT;
+ return IOggDecoder::AHR_MORE_HEADERS_TO_COME;
+ }
- mSetupState = VSS_SEEN_COMMENT;
- return IOggDecoder::AHR_MORE_HEADERS_TO_COME;
- } else {
- return IOggDecoder::AHR_INVALID_HEADER;
+
}
- break;
+ return IOggDecoder::AHR_INVALID_HEADER;
+
+
case VSS_SEEN_COMMENT:
if (strncmp((char*)inCodecHeaderPacket->packetData(), "\005vorbis", 7) == 0) {
+ if (fish_sound_decode(mFishSound, inCodecHeaderPacket->packetData(), inCodecHeaderPacket->packetSize()) >= 0) {
+ mSetupState = VSS_ALL_HEADERS_SEEN;
+ return IOggDecoder::AHR_ALL_HEADERS_RECEIVED;
+ }
- mSetupState = VSS_ALL_HEADERS_SEEN;
- return IOggDecoder::AHR_ALL_HEADERS_RECEIVED;
- } else {
- return IOggDecoder::AHR_INVALID_HEADER;
}
- break;
+ return IOggDecoder::AHR_INVALID_HEADER;
+
case VSS_ALL_HEADERS_SEEN:
case VSS_ERROR:
default:
More information about the commits
mailing list