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 12 namespace BPrivate { namespace media { 13 14 class PluginManager; 15 16 class Streamer { 17 public: 18 Streamer(); 19 virtual ~Streamer(); 20 21 virtual status_t Sniff(const BUrl& url, BDataIO** source) = 0; 22 private: 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 36 class StreamerPlugin : public virtual MediaPlugin { 37 public: 38 virtual Streamer* NewStreamer() = 0; 39 }; 40 41 } } // namespace BPrivate::media 42 43 using namespace BPrivate::media; 44 45 46 #endif // _STREAMER_PLUGIN_H 47