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