16ac391b3SStephan Aßmus /* 26ac391b3SStephan Aßmus * Copyright 2009 Stephan Aßmus <superstippi@gmx.de> 36ac391b3SStephan Aßmus * All rights reserved. Distributed under the terms of the MIT license. 46ac391b3SStephan Aßmus */ 56ac391b3SStephan Aßmus 66ac391b3SStephan Aßmus 76ac391b3SStephan Aßmus #include "MuxerTable.h" 86ac391b3SStephan Aßmus 96ac391b3SStephan Aßmus 106ac391b3SStephan Aßmus const media_file_format gMuxerTable[] = { 116ac391b3SStephan Aßmus { 126ac391b3SStephan Aßmus media_file_format::B_WRITABLE 136ac391b3SStephan Aßmus | media_file_format::B_KNOWS_RAW_VIDEO 146ac391b3SStephan Aßmus | media_file_format::B_KNOWS_RAW_AUDIO 156ac391b3SStephan Aßmus | media_file_format::B_KNOWS_ENCODED_VIDEO 166ac391b3SStephan Aßmus | media_file_format::B_KNOWS_ENCODED_AUDIO, 176ac391b3SStephan Aßmus { 0 }, 186ac391b3SStephan Aßmus B_AVI_FORMAT_FAMILY, 196ac391b3SStephan Aßmus 100, 206ac391b3SStephan Aßmus { 0 }, 216ac391b3SStephan Aßmus "video/x-msvideo", 226ac391b3SStephan Aßmus "AVI (Audio Video Interleaved)", 234384acf6SStephan Aßmus "avi", 246ac391b3SStephan Aßmus "avi", 256ac391b3SStephan Aßmus { 0 } 266ac391b3SStephan Aßmus }, 2754897d5cSStephan Aßmus { 2854897d5cSStephan Aßmus media_file_format::B_WRITABLE 29ead61989SStephan Aßmus | media_file_format::B_KNOWS_RAW_VIDEO 30ead61989SStephan Aßmus | media_file_format::B_KNOWS_RAW_AUDIO 31ead61989SStephan Aßmus | media_file_format::B_KNOWS_ENCODED_VIDEO 32ead61989SStephan Aßmus | media_file_format::B_KNOWS_ENCODED_AUDIO, 33ead61989SStephan Aßmus { 0 }, 34*eca9668aSStephan Aßmus B_MISC_FORMAT_FAMILY, 35*eca9668aSStephan Aßmus 100, 36*eca9668aSStephan Aßmus { 0 }, 37*eca9668aSStephan Aßmus "video/x-msvideo", 38*eca9668aSStephan Aßmus "DV video format", 39*eca9668aSStephan Aßmus "dv", 40*eca9668aSStephan Aßmus "dv", 41*eca9668aSStephan Aßmus { 0 } 42*eca9668aSStephan Aßmus }, 43*eca9668aSStephan Aßmus { 44*eca9668aSStephan Aßmus media_file_format::B_WRITABLE 45*eca9668aSStephan Aßmus | media_file_format::B_KNOWS_RAW_VIDEO 46*eca9668aSStephan Aßmus | media_file_format::B_KNOWS_RAW_AUDIO 47*eca9668aSStephan Aßmus | media_file_format::B_KNOWS_ENCODED_VIDEO 48*eca9668aSStephan Aßmus | media_file_format::B_KNOWS_ENCODED_AUDIO, 49*eca9668aSStephan Aßmus { 0 }, 50ead61989SStephan Aßmus B_AVI_FORMAT_FAMILY, 51ead61989SStephan Aßmus 100, 52ead61989SStephan Aßmus { 0 }, 53ead61989SStephan Aßmus "video/x-matroska", 54ead61989SStephan Aßmus "Matroska file format", 55ead61989SStephan Aßmus "mkv", 56ead61989SStephan Aßmus "mkv", 57ead61989SStephan Aßmus { 0 } 58ead61989SStephan Aßmus }, 59ead61989SStephan Aßmus { 60ead61989SStephan Aßmus media_file_format::B_WRITABLE 6154897d5cSStephan Aßmus | media_file_format::B_KNOWS_ENCODED_VIDEO 6254897d5cSStephan Aßmus | media_file_format::B_KNOWS_ENCODED_AUDIO, 6354897d5cSStephan Aßmus { 0 }, 6454897d5cSStephan Aßmus B_MPEG_FORMAT_FAMILY, 6554897d5cSStephan Aßmus 100, 6654897d5cSStephan Aßmus { 0 }, 6754897d5cSStephan Aßmus "video/mpeg", 6854897d5cSStephan Aßmus "MPEG (Motion Picture Experts Group)", 6954897d5cSStephan Aßmus "mpg", 7054897d5cSStephan Aßmus "mpg", 7154897d5cSStephan Aßmus { 0 } 7254897d5cSStephan Aßmus }, 736780c24dSStephan Aßmus // TODO: This one rejects unknown codecs. We probably need to define 746780c24dSStephan Aßmus // a media_format_family for it so that Encoders can announce their support 756780c24dSStephan Aßmus // for it specifically. 7673e5249cSStephan Aßmus { 7773e5249cSStephan Aßmus media_file_format::B_WRITABLE 7873e5249cSStephan Aßmus | media_file_format::B_KNOWS_ENCODED_VIDEO 7973e5249cSStephan Aßmus | media_file_format::B_KNOWS_ENCODED_AUDIO, 8073e5249cSStephan Aßmus { 0 }, 8173e5249cSStephan Aßmus B_MISC_FORMAT_FAMILY, 8273e5249cSStephan Aßmus 100, 8373e5249cSStephan Aßmus { 0 }, 8473e5249cSStephan Aßmus "application/ogg", 8573e5249cSStephan Aßmus "Ogg (Xiph.Org Foundation)", 8673e5249cSStephan Aßmus "ogg", 8773e5249cSStephan Aßmus "ogg", 8873e5249cSStephan Aßmus { 0 } 8973e5249cSStephan Aßmus }, 906d15d130SStephan Aßmus { 916d15d130SStephan Aßmus media_file_format::B_WRITABLE 926d15d130SStephan Aßmus | media_file_format::B_KNOWS_ENCODED_AUDIO, 936d15d130SStephan Aßmus { 0 }, 946d15d130SStephan Aßmus B_WAV_FORMAT_FAMILY, 956d15d130SStephan Aßmus 100, 966d15d130SStephan Aßmus { 0 }, 976d15d130SStephan Aßmus "audio/x-wav", 986d15d130SStephan Aßmus "WAV Format", 996d15d130SStephan Aßmus "wav", 1006d15d130SStephan Aßmus "wav", 1016d15d130SStephan Aßmus { 0 } 1026d15d130SStephan Aßmus }, 1036ac391b3SStephan Aßmus }; 1046ac391b3SStephan Aßmus 1056ac391b3SStephan Aßmus const size_t gMuxerCount = sizeof(gMuxerTable) / sizeof(media_file_format); 1066ac391b3SStephan Aßmus 107