/** Virtual device associated with this input. */
shared_ptr<InputDevice> device();
/** Send next stream data.
- * @param data Next stream data. */
- void send(string data);
+ * @param data Next stream data.
+ * @param length Length of data. */
+ void send(void *data, size_t length);
/** Signal end of input data. */
void end();
protected:
/** Create an output using this format.
* @param device Device to output for.
* @param options Mapping of (option name, value) pairs. */
- shared_ptr<Output> create_output(shared_ptr<Device> device,
+ shared_ptr<Output> create_output(
+ shared_ptr<Device> device,
+ map<string, Glib::VariantBase> options =
+ map<string, Glib::VariantBase>());
+ /** Create an output using this format.
+ * @param filename Name of destination file.
+ * @param device Device to output for.
+ * @param options Mapping of (option name, value) pairs. */
+ shared_ptr<Output> create_output(string filename,
+ shared_ptr<Device> device,
map<string, Glib::VariantBase> options =
map<string, Glib::VariantBase>());
protected:
Output(shared_ptr<OutputFormat> format, shared_ptr<Device> device);
Output(shared_ptr<OutputFormat> format,
shared_ptr<Device> device, map<string, Glib::VariantBase> options);
+ Output(string filename, shared_ptr<OutputFormat> format,
+ shared_ptr<Device> device, map<string, Glib::VariantBase> options);
~Output();
const shared_ptr<OutputFormat> _format;
const shared_ptr<Device> _device;