aboutsummaryrefslogtreecommitdiff
path: root/video
diff options
context:
space:
mode:
authorMatthew Hoops2011-04-06 22:12:27 -0400
committerMatthew Hoops2011-04-06 22:15:36 -0400
commitd7dfbd4b78f594cc303ff4c4d18d039e472299df (patch)
tree9ec3808fe06c84ad968f06817495e9f1fd0d1c2c /video
parenteb731514f7b27ca61b697ece0295dd79c29c141a (diff)
downloadscummvm-rg350-d7dfbd4b78f594cc303ff4c4d18d039e472299df.tar.gz
scummvm-rg350-d7dfbd4b78f594cc303ff4c4d18d039e472299df.tar.bz2
scummvm-rg350-d7dfbd4b78f594cc303ff4c4d18d039e472299df.zip
VIDEO: Allow MPEG-4 containers to be parsed
Diffstat (limited to 'video')
-rw-r--r--video/qt_decoder.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/video/qt_decoder.cpp b/video/qt_decoder.cpp
index a277d6bbde..02c3c1373e 100644
--- a/video/qt_decoder.cpp
+++ b/video/qt_decoder.cpp
@@ -851,18 +851,16 @@ int QuickTimeDecoder::readHDLR(MOVatom atom) {
_fd->readByte(); _fd->readByte(); _fd->readByte(); // flags
// component type
- uint32 ctype = _fd->readUint32LE();
+ uint32 ctype = _fd->readUint32BE();
uint32 type = _fd->readUint32BE(); // component subtype
debug(0, "ctype= %s (0x%08lx)", tag2str(ctype), (long)ctype);
debug(0, "stype= %s", tag2str(type));
- if(ctype == MKID_BE('mhlr')) // MOV
+ if (ctype == MKID_BE('mhlr')) // MOV
debug(0, "MOV detected");
- else if(ctype == 0) {
- warning("MP4 streams are not supported");
- return -1;
- }
+ else if (ctype == 0)
+ debug(0, "MPEG-4 detected");
if (type == MKID_BE('vide'))
st->codec_type = CODEC_TYPE_VIDEO;
@@ -1326,7 +1324,10 @@ bool QuickTimeDecoder::checkAudioCodecSupport(uint32 tag) {
return true;
#endif
- warning("Audio Codec Not Supported: \'%s\'", tag2str(tag));
+ if (tag == MKID_BE('mp4a'))
+ warning("No MPEG-4 audio (AAC) support");
+ else
+ warning("Audio Codec Not Supported: \'%s\'", tag2str(tag));
return false;
}