From 0f741a83c13166cac9f5dc011c3bb47e12405033 Mon Sep 17 00:00:00 2001 From: beveloper Date: Mon, 1 Dec 2003 23:33:35 +0000 Subject: [PATCH] more codec api enhancements git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5523 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/media/PluginManager.h | 13 +++++++++++++ src/kits/media/Jamfile | 1 + src/kits/media/MediaExtractor.cpp | 19 ++++--------------- src/kits/media/MediaTrack.cpp | 4 +++- src/kits/media/PluginManager.cpp | 25 +++++++++++++++++++++++++ 5 files changed, 46 insertions(+), 16 deletions(-) create mode 100644 headers/private/media/PluginManager.h create mode 100644 src/kits/media/PluginManager.cpp diff --git a/headers/private/media/PluginManager.h b/headers/private/media/PluginManager.h new file mode 100644 index 0000000000..3925db8498 --- /dev/null +++ b/headers/private/media/PluginManager.h @@ -0,0 +1,13 @@ +#ifndef _PLUGIN_MANAGER_H +#define _PLUGIN_MANAGER_H + +#include "ReaderPlugin.h" +#include "DecoderPlugin.h" + +status_t _CreateReader(Reader **reader, int32 *streamCount, media_file_format *mff, BDataIO *source); +status_t _CreateDecoder(Decoder **decoder, media_codec_info *mci, const media_format *format); + +void _DestroyReader(Reader *reader); +void _DestroyDecoder(Decoder *decoder); + +#endif diff --git a/src/kits/media/Jamfile b/src/kits/media/Jamfile index fab6897ffb..e2b1baef2c 100644 --- a/src/kits/media/Jamfile +++ b/src/kits/media/Jamfile @@ -74,6 +74,7 @@ SharedLibrary media : ReaderPlugin.cpp DecoderPlugin.cpp MediaExtractor.cpp + PluginManager.cpp ; LinkSharedOSLibs libmedia.so : diff --git a/src/kits/media/MediaExtractor.cpp b/src/kits/media/MediaExtractor.cpp index a370f82b7d..7ae81a5968 100644 --- a/src/kits/media/MediaExtractor.cpp +++ b/src/kits/media/MediaExtractor.cpp @@ -1,10 +1,8 @@ #include "MediaExtractor.h" +#include "PluginManager.h" #include #include -status_t _CreateReader(Reader **reader, int32 *streamCount, media_file_format *mff, BDataIO *source); -status_t _CreateDecoder(Decoder **decoder, media_codec_info *mci, const media_format *format); - MediaExtractor::MediaExtractor(BDataIO * source, int32 flags) { fSource = source; @@ -62,6 +60,9 @@ MediaExtractor::~MediaExtractor() fReader->FreeCookie(fStreamInfo[i].cookie); } + if (fReader) + _DestroyReader(fReader); + delete fStreamInfo; delete fSource; } @@ -171,15 +172,3 @@ MediaExtractor::CreateDecoder(int32 stream, Decoder **decoder, media_codec_info return B_OK; } -status_t -_CreateReader(Reader **reader, int32 *streamCount, media_file_format *mff, BDataIO *source) -{ - return B_OK; -} - -status_t -_CreateDecoder(Decoder **decoder, media_codec_info *mci, const media_format *format) -{ - return B_OK; -} - diff --git a/src/kits/media/MediaTrack.cpp b/src/kits/media/MediaTrack.cpp index 89acfdbc5c..f631ebedea 100644 --- a/src/kits/media/MediaTrack.cpp +++ b/src/kits/media/MediaTrack.cpp @@ -5,6 +5,7 @@ ***********************************************************************/ #include #include "MediaExtractor.h" +#include "PluginManager.h" #include "ReaderPlugin.h" #include "debug.h" @@ -15,7 +16,8 @@ BMediaTrack::~BMediaTrack() { CALLED(); - delete fDecoder; + if (fDecoder) + _DestroyDecoder(fDecoder); } /************************************************************* diff --git a/src/kits/media/PluginManager.cpp b/src/kits/media/PluginManager.cpp new file mode 100644 index 0000000000..e2749329f7 --- /dev/null +++ b/src/kits/media/PluginManager.cpp @@ -0,0 +1,25 @@ +#include "PluginManager.h" + + +status_t +_CreateReader(Reader **reader, int32 *streamCount, media_file_format *mff, BDataIO *source) +{ + return B_OK; +} + +status_t +_CreateDecoder(Decoder **decoder, media_codec_info *mci, const media_format *format) +{ + return B_OK; +} + + +void +_DestroyReader(Reader *reader) +{ +} + +void +_DestroyDecoder(Decoder *decoder) +{ +}