#include <pthread.h>
Go to the source code of this file.
Data Structures | |
struct | input_object |
struct | stream_info |
struct | input_plugin |
Defines | |
#define | P_SEEK 1 |
#define | P_PERFECTSEEK 2 |
#define | P_REENTRANT 4 |
#define | P_FILEBASED 8 |
#define | P_STREAMBASED 16 |
#define | P_BUFFERING 32 |
#define | INPUT_PLUGIN_BASE_VERSION 0x1000 |
#define | INPUT_PLUGIN_VERSION (INPUT_PLUGIN_BASE_VERSION + 16) |
Typedefs | |
typedef int | input_version_type |
typedef int | input_flags_type |
typedef int(* | input_init_type )(void) |
typedef void(* | input_shutdown_type )(void) |
typedef void * | input_plugin_handle_type |
typedef float(* | input_can_handle_type )(const char *path) |
typedef int(* | input_open_type )(input_object *obj, const char *path) |
typedef void(* | input_close_type )(input_object *obj) |
typedef int(* | input_play_frame_type )(input_object *obj, char *buffer) |
typedef int(* | input_frame_seek_type )(input_object *obj, int frame) |
typedef int(* | input_frame_size_type )(input_object *obj) |
typedef int(* | input_nr_frames_type )(input_object *obj) |
typedef long(* | input_frame_to_sec_type )(input_object *obj, int frame) |
typedef int(* | input_sample_rate_type )(input_object *obj) |
typedef int(* | input_channels_type )(input_object *obj) |
typedef int(* | input_stream_info_type )(input_object *obj, stream_info *info) |
typedef int(* | input_nr_tracks_type )(input_object *obj) |
typedef int(* | input_track_seek_type )(input_object *obj, int track) |
typedef input_plugin *(* | input_plugin_info_type )(void) |
#define INPUT_PLUGIN_BASE_VERSION 0x1000 |
The base version number of the scope plugin. Set at 0x1000.
#define INPUT_PLUGIN_VERSION (INPUT_PLUGIN_BASE_VERSION + 16) |
The version of the input plugin API. This should be incremented whenever structural changes are made to the API. This value should only be changed by the maintainers.
#define P_BUFFERING 32 |
Set minimal buffer
#define P_FILEBASED 8 |
Set this flag if the stream is file based (local disk file)
#define P_PERFECTSEEK 2 |
Set this flag if your plugin is able to do sample accurate seeking in the stream. This is required for reverse speed playback.
#define P_REENTRANT 4 |
Set this flag if your plugin is reentrant.
#define P_SEEK 1 |
Set this flag if your plugin is able to seek in the stream
#define P_STREAMBASED 16 |
Set this if the stream is a real stream e.g. HTTP or UDP based
typedef float(* input_can_handle_type)(const char *path) |
path | Path to stream |
typedef int(* input_channels_type)(input_object *obj) |
obj | input object |
typedef void(* input_close_type)(input_object *obj) |
obj | input object |
typedef int input_flags_type |
Capability flags for this plugin
typedef int(* input_frame_seek_type)(input_object *obj, int frame) |
obj | input object | |
frame | Seek to a specific frame number |
typedef int(* input_frame_size_type)(input_object *obj) |
obj | input object |
typedef long(* input_frame_to_sec_type)(input_object *obj,int frame) |
obj | input object | |
frame | frame number |
typedef int(* input_init_type)(void) |
Init plugin
typedef int(* input_nr_frames_type)(input_object *obj) |
obj | input object |
typedef int(* input_nr_tracks_type)(input_object *obj) |
obj | input object |
typedef int(* input_open_type)(input_object *obj, const char *path) |
obj | input object | |
path | path of stream to open |
typedef int(* input_play_frame_type)(input_object *obj, char *buffer) |
obj | input object | |
buffer | buffer where we should write the frame to |
typedef void* input_plugin_handle_type |
Handle for plugin. Filled in by the host
typedef input_plugin*(* input_plugin_info_type)(void) |
Every input plugin should have an input_plugin_info() function that returns a pointer to an input_plugin structure that is set up with pointers to your implementations. If your plugin is compiled using C++ make sure you 'extern "C"' the input_plugin_info() function or else the HOST will not be able to load the plugin.
typedef int(* input_sample_rate_type)(input_object *obj) |
obj | input object |
typedef void(* input_shutdown_type)(void) |
Prepare the plugin for removal
typedef int(* input_stream_info_type)(input_object *obj, stream_info *info) |
obj | input object | |
info | pointer to stream_info structure |
typedef int(* input_track_seek_type)(input_object *obj, int track) |
typedef int input_version_type |
input plugin binary version. Must be set to INPUT_PLUGIN_VERSION