haiku/headers/private/media/StreamerPlugin.h
Dario Casalinuovo 63e1708eee Finalize StreamerPlugin
* Add cpp file.
* Make Sniff virtual.
2016-03-25 22:16:36 +01:00

45 lines
888 B
C++

#ifndef _STREAMER_PLUGIN_H
#define _STREAMER_PLUGIN_H
#include <DataIO.h>
#include <MediaTrack.h>
#include <Url.h>
#include "MediaPlugin.h"
namespace BPrivate { namespace media {
class PluginManager;
class Streamer {
public:
Streamer();
virtual ~Streamer();
virtual 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