blob: 0ee5489d2af4f5244cd5725f4d03accbbea1c151 [file] [log] [blame]
#ifndef LIVE_DTV_PLUGIN_H_
#define LIVE_DTV_PLUGIN_H_
#include <fstream>
#include "dtv_plugin_api.h"
class DtvPlugin {
public:
DtvPlugin(const char* plugin_path);
~DtvPlugin();
bool load();
int getStreamerCount();
bool validate(const char* transport_desc);
bool isTransportTypeSupported(const char* transport_type);
// /* plugin-wide properties */
bool getProperty(const char* key, void* value, int* size);
bool setProperty(const char* key, const void* value, int size);
struct dtv_plugin* interface();
const char* pluginBasename();
protected:
const char* path_;
char* basename_;
void* module_;
struct dtv_plugin* interface_;
bool loaded_;
};
#endif // LIVE_DTV_PLUGIN_H_