#include "stream_info.h"
#include <pthread.h>
Go to the source code of this file.
| #define INPUT_PLUGIN_BASE_VERSION 0x1000 |
The base version number of the scope plugin. Set at 0x1000.
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.
Set this flag if the stream is file based (local disk file)
Set this flag if your plugin is able to do sample accurate seeking in the stream. This is required for reverse speed playback.
Set this flag if your plugin is reentrant.
Set this flag if your plugin is able to seek in the stream
Set this if the stream is a real stream e.g. HTTP or UDP based
| typedef int(* input_block_seek_type) (input_object *obj, int block) |
- Parameters
-
| obj | input object |
| block | Seek to a specific block number |
- Parameters
-
Returns the block size in bytes
| typedef long(* input_block_to_sec_type) (input_object *obj,int block) |
- Parameters
-
| obj | input object |
| block | block number |
Returns the offset from the start time in centiseconds (100th of a second) for the block given.
| typedef float(* input_can_handle_type) (const char *path) |
- Parameters
-
Returns a rating between 0.0 and 1.0 for how well this plugin can handle the given path 1.0 = Excellent 0.0 = Huh?
- Parameters
-
Returns number of channels in the stream
Capability flags for this plugin
| typedef int64_t(* input_frame_count_type) (input_object *obj) |
- Parameters
-
Returns the number of frames sample for in the stream (where a frame is one singled sample for every channel).
| typedef int(* input_init_type) (void) |
- Parameters
-
Returns the total number of blocks in the stream
- Parameters
-
Return number of tracks. Optional
This is a structure that keeps frequently used parameters of an input instance. It also contains a pointer to any local_data that might be allocated by the plugin itself.
| typedef int(* input_open_type) (input_object *obj, const char *path) |
- Parameters
-
| obj | input object |
| path | path of stream to open |
Open stream
| typedef int(* input_play_block_type) (input_object *obj, short *buffer) |
- Parameters
-
| obj | input object |
| buffer | buffer where we should write the block to |
Play/decode a single block. This function should write exactly one block to the buffer. If there is not enough PCM data to fill the block it should be padded with zeros (silence).
Handle for plugin. Filled in by the host
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.
- Parameters
-
Returns the sample rate of the stream
| typedef void(* input_shutdown_type) (void) |
Prepare the plugin for removal
| typedef int(* input_stream_info_type) (input_object *obj, stream_info *info) |
- Parameters
-
| obj | input object |
| info | pointer to stream_info structure |
Return stream info of the current stream. You should not allocate space for the stream_info structure. The HOST will take care of that.
| typedef int(* input_track_seek_type) (input_object *obj, int track) |
input plugin binary version. Must be set to INPUT_PLUGIN_VERSION