mirror of
https://review.haiku-os.org/haiku
synced 2025-02-02 11:46:25 +01:00
63e1708eee
* Add cpp file. * Make Sniff virtual.
45 lines
888 B
C++
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
|