1#ifndef _STREAMER_PLUGIN_H 2#define _STREAMER_PLUGIN_H 3 4 5#include <MediaIO.h> 6#include <MediaTrack.h> 7#include <Url.h> 8 9#include "MediaPlugin.h" 10 11 12namespace BPrivate { namespace media { 13 14class PluginManager; 15 16class Streamer { 17public: 18 Streamer(); 19 virtual ~Streamer(); 20 21 virtual status_t Sniff(const BUrl& url, BDataIO** source) = 0; 22private: 23 virtual void _ReservedStreamer1(); 24 virtual void _ReservedStreamer2(); 25 virtual void _ReservedStreamer3(); 26 virtual void _ReservedStreamer4(); 27 virtual void _ReservedStreamer5(); 28 29 MediaPlugin* fMediaPlugin; 30 uint32 fReserved[5]; 31 32 friend class PluginManager; 33}; 34 35 36class StreamerPlugin : public virtual MediaPlugin { 37public: 38 virtual Streamer* NewStreamer() = 0; 39}; 40 41} } // namespace BPrivate::media 42 43using namespace BPrivate::media; 44 45 46#endif // _STREAMER_PLUGIN_H 47