diff --git a/interface/inner_api/meta/media_types.h b/interface/inner_api/meta/media_types.h index 246719f201e9ccacc25f4085c23fa4ec61408705..01476aed822ff4fd68d7f29e4c443fe7f484adb9 100644 --- a/interface/inner_api/meta/media_types.h +++ b/interface/inner_api/meta/media_types.h @@ -144,6 +144,7 @@ enum class FileType : int32_t { MPEGTS = 102, MKV = 103, FLV = 104, + AVI = 105, AMR = 201, AAC = 202, MP3 = 203, diff --git a/interface/inner_api/plugin/plugin_list.h b/interface/inner_api/plugin/plugin_list.h index b1c6c2ceb1a09398db6c783c0433fc5165bc11db..14e468922ec5b12b12abda0b14cddf6fc0ac201c 100644 --- a/interface/inner_api/plugin/plugin_list.h +++ b/interface/inner_api/plugin/plugin_list.h @@ -60,6 +60,12 @@ private: void AddMovDemuxerPlugin(); void AddMp3DemuxerPlugin(); void AddMpegDemuxerPlugin(); + void AddMpegtsDemuxerPlugin(); + void AddAviDemuxerPlugin(); + void AddSrtDemuxerPlugin(); + void AddWebvttDemuxerPlugin(); + void AddOggDemuxerPlugin(); + void AddWavDemuxerPlugin(); void AddFFmpegDemuxerPlugins(); void AddMpegAudioDecoderPlugin(); void AddAacAudioDecoderPlugin(); diff --git a/src/plugin/plugin_list.cpp b/src/plugin/plugin_list.cpp index f0821b802447d06a0b16889408ee453152ecbf83..7b30248344b081ec9cb8209d398a14bed1d010db 100644 --- a/src/plugin/plugin_list.cpp +++ b/src/plugin/plugin_list.cpp @@ -299,22 +299,30 @@ void PluginList::AddMpegDemuxerPlugin() pluginDescriptionList_.push_back(mpegDemuxerPlugin); } -void PluginList::AddFFmpegDemuxerPlugins() +void PluginList::AddMpegtsDemuxerPlugin() { - AddAacDemuxerPlugin(); - AddAmrDemuxerPlugin(); - AddAmrnbDemuxerPlugin(); - AddAmrwbDemuxerPlugin(); - AddApeDemuxerPlugin(); - AddAsfDemuxerPlugin(); - AddAsfoDemuxerPlugin(); - AddFlacDemuxerPlugin(); - AddFlvDemuxerPlugin(); - AddMatroskaDemuxerPlugin(); - AddMovDemuxerPlugin(); - AddMp3DemuxerPlugin(); - AddMpegDemuxerPlugin(); + PluginDescription mpegtsDemuxerPlugin; + mpegtsDemuxerPlugin.pluginName = "avdemux_mpegts"; + mpegtsDemuxerPlugin.packageName = "FFmpegDemuxer"; + mpegtsDemuxerPlugin.pluginType = PluginType::DEMUXER; + mpegtsDemuxerPlugin.cap = ""; + mpegtsDemuxerPlugin.rank = DEFAULT_RANK; + pluginDescriptionList_.push_back(mpegtsDemuxerPlugin); +} +void PluginList::AddAviDemuxerPlugin() +{ + PluginDescription aviDemuxerPlugin; + aviDemuxerPlugin.pluginName = "avdemux_avi"; + aviDemuxerPlugin.packageName = "FFmpegDemuxer"; + aviDemuxerPlugin.pluginType = PluginType::DEMUXER; + aviDemuxerPlugin.cap = ""; + aviDemuxerPlugin.rank = DEFAULT_RANK; + pluginDescriptionList_.push_back(aviDemuxerPlugin); +} + +void PluginList::AddSrtDemuxerPlugin() +{ PluginDescription srtDemuxerPlugin; srtDemuxerPlugin.pluginName = "avdemux_srt"; srtDemuxerPlugin.packageName = "FFmpegDemuxer"; @@ -322,7 +330,10 @@ void PluginList::AddFFmpegDemuxerPlugins() srtDemuxerPlugin.cap = ""; srtDemuxerPlugin.rank = DEFAULT_RANK; pluginDescriptionList_.push_back(srtDemuxerPlugin); +} +void PluginList::AddWebvttDemuxerPlugin() +{ PluginDescription vttDemuxerPlugin; vttDemuxerPlugin.pluginName = "avdemux_webvtt"; vttDemuxerPlugin.packageName = "FFmpegDemuxer"; @@ -330,15 +341,10 @@ void PluginList::AddFFmpegDemuxerPlugins() vttDemuxerPlugin.cap = ""; vttDemuxerPlugin.rank = DEFAULT_RANK; pluginDescriptionList_.push_back(vttDemuxerPlugin); +} - PluginDescription mpegtsDemuxerPlugin; - mpegtsDemuxerPlugin.pluginName = "avdemux_mpegts"; - mpegtsDemuxerPlugin.packageName = "FFmpegDemuxer"; - mpegtsDemuxerPlugin.pluginType = PluginType::DEMUXER; - mpegtsDemuxerPlugin.cap = ""; - mpegtsDemuxerPlugin.rank = DEFAULT_RANK; - pluginDescriptionList_.push_back(mpegtsDemuxerPlugin); - +void PluginList::AddOggDemuxerPlugin() +{ PluginDescription oggDemuxerPlugin; oggDemuxerPlugin.pluginName = "avdemux_ogg"; oggDemuxerPlugin.packageName = "FFmpegDemuxer"; @@ -346,7 +352,10 @@ void PluginList::AddFFmpegDemuxerPlugins() oggDemuxerPlugin.cap = ""; oggDemuxerPlugin.rank = DEFAULT_RANK; pluginDescriptionList_.push_back(oggDemuxerPlugin); +} +void PluginList::AddWavDemuxerPlugin() +{ PluginDescription wavDemuxerPlugin; wavDemuxerPlugin.pluginName = "avdemux_wav"; wavDemuxerPlugin.packageName = "FFmpegDemuxer"; @@ -356,6 +365,29 @@ void PluginList::AddFFmpegDemuxerPlugins() pluginDescriptionList_.push_back(wavDemuxerPlugin); } +void PluginList::AddFFmpegDemuxerPlugins() +{ + AddAacDemuxerPlugin(); + AddAmrDemuxerPlugin(); + AddAmrnbDemuxerPlugin(); + AddAmrwbDemuxerPlugin(); + AddApeDemuxerPlugin(); + AddAsfDemuxerPlugin(); + AddAsfoDemuxerPlugin(); + AddFlacDemuxerPlugin(); + AddFlvDemuxerPlugin(); + AddMatroskaDemuxerPlugin(); + AddMovDemuxerPlugin(); + AddMp3DemuxerPlugin(); + AddMpegDemuxerPlugin(); + AddMpegtsDemuxerPlugin(); + AddAviDemuxerPlugin(); + AddSrtDemuxerPlugin(); + AddWebvttDemuxerPlugin(); + AddOggDemuxerPlugin(); + AddWavDemuxerPlugin(); +} + void PluginList::AddMpegAudioDecoderPlugin() { PluginDescription mpegAudioDecoderPlugin;