* Added support for Flash Video (VP6F video and MP3 audio tested only).

* Seeking does not work, since the duration extraction from libavformat does
  not work for this container (maybe there are ways/workarounds but I didn't
  look into it).
* Automatic white space cleanup.

TODO: Add MIME type with sniffer rule.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31605 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Stephan Aßmus
2009-07-16 12:59:54 +00:00
parent 52464b8f9a
commit c340785238
3 changed files with 34 additions and 21 deletions
@@ -370,6 +370,14 @@ AVFormatReader::StreamCookie::Init(int32 virtualIndex)
description.family = B_WAV_FORMAT_FAMILY; description.family = B_WAV_FORMAT_FAMILY;
codecTag = 'flac'; codecTag = 'flac';
break; break;
case CODEC_ID_VP6F:
description.family = B_QUICKTIME_FORMAT_FAMILY;
codecTag = B_BENDIAN_TO_HOST_INT32('VP6F');
break;
case CODEC_ID_MP3:
description.family = B_QUICKTIME_FORMAT_FAMILY;
codecTag = B_BENDIAN_TO_HOST_INT32('.mp3');
break;
default: default:
fprintf(stderr, "ffmpeg codecTag is null, codec_id " fprintf(stderr, "ffmpeg codecTag is null, codec_id "
"unknown 0x%x\n", codecContext->codec_id); "unknown 0x%x\n", codecContext->codec_id);
@@ -200,6 +200,7 @@ const struct codec_table gCodecTable[] = {
{CODEC_ID_INDEO5, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('IV50'), "Indeo 5"}, {CODEC_ID_INDEO5, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, FOURCC('IV50'), "Indeo 5"},
{CODEC_ID_VP3, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'VP31', "On2 VP3"}, {CODEC_ID_VP3, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'VP31', "On2 VP3"},
{CODEC_ID_VP6F, B_MEDIA_ENCODED_VIDEO, B_QUICKTIME_FORMAT_FAMILY, 'VP6F', "On2 VP6"},
{CODEC_ID_CYUV, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'cyuv', "CYUV"}, {CODEC_ID_CYUV, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'cyuv', "CYUV"},
{CODEC_ID_CYUV, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'CYUV', "CYUV"}, {CODEC_ID_CYUV, B_MEDIA_ENCODED_VIDEO, B_AVI_FORMAT_FAMILY, 'CYUV', "CYUV"},
@@ -27,6 +27,18 @@ static const DemuxerFormat gDemuxerTable[] = {
// "avi", "AVI (Audio Video Interleaved)", "video/x-msvideo", // "avi", "AVI (Audio Video Interleaved)", "video/x-msvideo",
// B_WAV_FORMAT_FAMILY, B_AVI_FORMAT_FAMILY // B_WAV_FORMAT_FAMILY, B_AVI_FORMAT_FAMILY
// }, // },
{
"dv", "DV Movie", "video/dv",
B_WAV_FORMAT_FAMILY, B_QUICKTIME_FORMAT_FAMILY
},
{
"flac", "FLAC", "audio/x-flac",
B_WAV_FORMAT_FAMILY, B_ANY_FORMAT_FAMILY
},
{
"flv", "Flash Video", "video/x-flv",
B_QUICKTIME_FORMAT_FAMILY, B_QUICKTIME_FORMAT_FAMILY
},
// { // {
// TODO: untested! // TODO: untested!
// "mov", "MOV (Quicktime Movie)", "video/x-mov", // "mov", "MOV (Quicktime Movie)", "video/x-mov",
@@ -69,14 +81,6 @@ static const DemuxerFormat gDemuxerTable[] = {
"vob", "VOB Movie", "video/x-vob", "vob", "VOB Movie", "video/x-vob",
B_MPEG_FORMAT_FAMILY, B_MPEG_FORMAT_FAMILY B_MPEG_FORMAT_FAMILY, B_MPEG_FORMAT_FAMILY
}, },
{
"dv", "DV Movie", "video/dv",
B_WAV_FORMAT_FAMILY, B_QUICKTIME_FORMAT_FAMILY
},
{
"flac", "FLAC", "audio/x-flac",
B_WAV_FORMAT_FAMILY, B_ANY_FORMAT_FAMILY
},
}; };