From 3d8e0d38e13e2dd95f17a09a49328cd8c2b8c5e5 Mon Sep 17 00:00:00 2001 From: Dario Casalinuovo Date: Fri, 11 Mar 2016 02:04:59 +0100 Subject: [PATCH] Add initial design of StreamerPlugin --- headers/private/media/StreamerPlugin.h | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 headers/private/media/StreamerPlugin.h diff --git a/headers/private/media/StreamerPlugin.h b/headers/private/media/StreamerPlugin.h new file mode 100644 index 0000000000..aaa63ae157 --- /dev/null +++ b/headers/private/media/StreamerPlugin.h @@ -0,0 +1,43 @@ +#ifndef _STREAMER_PLUGIN_H +#define _STREAMER_PLUGIN_H + +#include +#include + +#include "MediaPlugin.h" + +namespace BPrivate { namespace media { + +class PluginManager; + +class Streamer { +public: + Streamer(); + virtual ~Streamer(); + + status_t Sniff(BUrl* url, BMediaIO** source) = 0; +private: + virtual void _ReservedStreamer1(); + virtual void _ReservedStreamer2(); + virtual void _ReservedStreamer3(); + virtual void _ReservedStreamer4(); + virtual void _ReservedStreamer5(); + + MediaPlugin* fMediaPlugin; + uint32 fReserved[5]; + + // needed for plug-in reference count management + friend class PluginManager; +}; + + +class StreamerPlugin : public virtual MediaPlugin { +public: + virtual Streamer* NewStreamer() = 0; +}; + +} } // namespace BPrivate::media + +using namespace BPrivate::media; + +#endif // _STREAMER_PLUGIN_H