Implement new Custom Sink Component API - A Custom Video Sink made from Custom GST Elements
Closed this issue · 0 comments
rjhowell44 commented
New Custom Sink API
/**
* @brief Creates a new, uniquely named Custom Sink Component.
* @param[in] name unique name for the new Custom Sink.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT otherwise.
*/
DslReturnType dsl_sink_custom_new(const wchar_t* name);
/**
* @brief Creates a new Custom Sink Component and adds a GST Element to it.
* @param[in] name unique name for the new Custom Sink.
* @param[in] element name of the GST Element to add.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT otherwise.
*/
DslReturnType dsl_sink_custom_new_element_add(const wchar_t* name,
const wchar_t* element);
/**
* @brief Creates a new Custom Sink Component and adds a list of GST Elements to it.
* @param[in] name unique name for the new Custom Sink.
* @param[in] elements NULL terminated array of GST Element names to add.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT otherwise.
*/
DslReturnType dsl_sink_custom_new_element_add_many(const wchar_t* name,
const wchar_t** elements);
/**
* @brief Adds a single GST Element to a Custom Sink Component.
* @param[in] name name of the Custom Sink to update.
* @param[in] element Element names to add.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT otherwise.
*/
DslReturnType dsl_sink_custom_element_add(const wchar_t* name,
const wchar_t* elements);
/**
* @brief Adds a list of GST Elements to a Custom Sink Component.
* @param[in] name name of the Custom Sink to update.
* @param[in] elements NULL terminated array of GST Element names to add.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT otherwise.
*/
DslReturnType dsl_sink_custom_element_add_many(const wchar_t* name,
const wchar_t** elements);
/**
* @brief Removes a GST Element from a Custom Sink Component.
* @param[in] name name of the Custom Sink to update.
* @param[in] elements name of the GST Element to remove.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT otherwise.
*/
DslReturnType dsl_sink_custom_element_remove(const wchar_t* name,
const wchar_t* elements);
/**
* @brief Removes a list of GST Elements from a Custom Sink Component.
* @param[in] name name of the Custom Sink to update.
* @param[in] elements NULL terminated array of GST Element names to remove.
* @return DSL_RESULT_SUCCESS on success, DSL_RESULT_SINK_RESULT otherwise.
*/
DslReturnType dsl_sink_custom_element_remove_many(const wchar_t* name,
const wchar_t** elements);