blob: 0ee5489d2af4f5244cd5725f4d03accbbea1c151 [file] [log] [blame]
sadiqsada56c98292023-11-02 16:45:31 -07001#ifndef LIVE_DTV_PLUGIN_H_
2#define LIVE_DTV_PLUGIN_H_
3
4#include <fstream>
5#include "dtv_plugin_api.h"
6
7class DtvPlugin {
8 public:
9 DtvPlugin(const char* plugin_path);
10 ~DtvPlugin();
11
12 bool load();
13 int getStreamerCount();
14 bool validate(const char* transport_desc);
15 bool isTransportTypeSupported(const char* transport_type);
16 // /* plugin-wide properties */
17 bool getProperty(const char* key, void* value, int* size);
18 bool setProperty(const char* key, const void* value, int size);
19
20 struct dtv_plugin* interface();
21 const char* pluginBasename();
22
23 protected:
24 const char* path_;
25 char* basename_;
26 void* module_;
27 struct dtv_plugin* interface_;
28 bool loaded_;
29};
30
31#endif // LIVE_DTV_PLUGIN_H_