Functions#
- buffer_straw_get_buffer(bin: Element, pad: Pad) Buffer#
Get one buffer from
pad. Implemented via buffer probes. This function will block until the pipeline passes a buffer overpad, so for robust behavior in unit tests, you need to use check’s timeout to fail out in the case that a buffer never arrives.You must have previously called
buffer_straw_start_pipeline()onpipelineandpad.- Parameters:
bin – the pipeline previously started via
buffer_straw_start_pipeline()pad – the pad previously passed to
buffer_straw_start_pipeline()
- Returns:
the captured
Buffer.
- buffer_straw_start_pipeline(bin: Element, pad: Pad) None#
Sets up a pipeline for buffer sucking. This will allow you to call
buffer_straw_get_buffer()to access buffers as they pass overpad.This function is normally used in unit tests that want to verify that a particular element is outputting correct buffers. For example, you would make a pipeline via
parse_launch(), pull out the pad you want to monitor, then callbuffer_straw_get_buffer()to get the buffers that pass throughpad. The pipeline will block until you have sucked off the buffers.This function will set the state of
binto PLAYING; to clean up, be sure to callbuffer_straw_stop_pipeline().Note that you may not start two buffer straws at the same time. This function is intended for unit tests, not general API use. In fact it calls fail_if from libcheck, so you cannot use it outside unit tests.
- Parameters:
bin – the pipeline to run
pad – a pad on an element in
bin
- buffer_straw_stop_pipeline(bin: Element, pad: Pad) None#
Set
bintoGST_STATE_NULLand release resource allocated inbuffer_straw_start_pipeline().You must have previously called
buffer_straw_start_pipeline()onpipelineandpad.- Parameters:
bin – the pipeline previously started via
buffer_straw_start_pipeline()pad – the pad previously passed to
buffer_straw_start_pipeline()
- check_abi_list(list: CheckABIStruct, have_abi_sizes: bool) None#
Verifies that reference values and current values are equals in
list.- Parameters:
list – A list of GstCheckABIStruct to be verified
have_abi_sizes – Whether there is a reference ABI size already specified, if it is
Falseand theGST_ABIenvironment variable is set, usable code forlistwill be printed.
- check_buffer_data(buffer: Buffer, data: Any, size: int) None#
Compare the buffer contents with
dataandsize.- Parameters:
buffer – buffer to compare
data – data to compare to
size – size of data to compare
- check_caps_equal(caps1: Caps, caps2: Caps) None#
Compare two caps with gst_caps_is_equal and fail unless they are equal.
- Parameters:
caps1 – first caps to compare
caps2 – second caps to compare
- check_chain_func(pad: Pad, parent: Object, buffer: Buffer) FlowReturn#
A fake chain function that appends the buffer to the internal list of buffers.
- Parameters:
pad
parent
buffer
- check_clear_log_filter() None#
Clear all filters added by
gst_check_add_log_filter.MT safe.
Added in version 1.12.
- check_drop_buffers() None#
Unref and remove all buffers that are in the global
buffersGList, emptying the list.
- check_element_push_buffer(element_name: str, buffer_in: Buffer, caps_in: Caps, buffer_out: Buffer, caps_out: Caps) None#
Create an element using the factory providing the
element_nameand push thebuffer_into this element. The element should create one buffer and this will be compared withbuffer_out. We only check the caps and the data of the buffers. This function unrefs the buffers.
- check_element_push_buffer_list(element_name: str, buffer_in: list[Buffer], caps_in: Caps, buffer_out: list[Buffer], caps_out: Caps, last_flow_return: FlowReturn) None#
Create an element using the factory providing the
element_nameand push the buffers inbuffer_into this element. The element should create the buffers equal to the buffers inbuffer_out. We only check the size and the data of the buffers. This function unrefs the buffers in the two lists. The last_flow_return parameter indicates the expected flow return value from pushing the final buffer in the list. This can be used to set up a test which pushes some buffers and then an invalid buffer, when the final buffer is expected to fail, for example.- Parameters:
element_name – name of the element that needs to be created
buffer_in – a list of buffers that needs to be pushed to the element
caps_in – the
Capsexpected of the sinkpad of the elementbuffer_out – a list of buffers that we expect from the element
caps_out – the
Capsexpected of the srcpad of the elementlast_flow_return – the last buffer push needs to give this GstFlowReturn
- check_message_error(message: Message, type: MessageType, domain: int, code: int) None#
- Parameters:
message
type
domain
code
- check_remove_log_filter(filter: CheckLogFilter) None#
Remove a filter that has been added by
gst_check_add_log_filter.MT safe.
Added in version 1.12.
- Parameters:
filter – Filter returned by
gst_check_add_log_filter
- check_setup_element(factory: str) Element#
setup an element for a filter test with mysrcpad and mysinkpad
- Parameters:
factory – factory
- Returns:
a new element
- check_setup_events(srcpad: Pad, element: Element, caps: Caps | None, format: Format) None#
Push stream-start, caps and segment event, which consist of the minimum required events to allow streaming. Caps is optional to allow raw src testing. If
elementhas more than one src or sink pad, usecheck_setup_events_with_stream_id()instead.
- check_setup_events_with_stream_id(srcpad: Pad, element: Element, caps: Caps | None, format: Format, stream_id: str) None#
Push stream-start, caps and segment event, which consist of the minimum required events to allow streaming. Caps is optional to allow raw src testing.
- check_setup_sink_pad(element: Element, tmpl: StaticPadTemplate) Pad#
Does the same as
gst_check_setup_sink_pad_by_namewith the <emphasis> name </emphasis> parameter equal to “src”.- Parameters:
element – element to setup pad on
tmpl – pad template
- Returns:
a new pad that can be used to check the output of
element
- check_setup_sink_pad_by_name(element: Element, tmpl: StaticPadTemplate, name: str) Pad#
Creates a new sink pad (based on the given
tmpl) and links it to the givenelementsrc pad (the pad that matches the givenname). You can set event/chain/query functions on this pad to check the output of theelement.- Parameters:
element – element to setup pad on
tmpl – pad template
name – Name of the
elementsrc pad that will be linked to the sink pad that will be setup
- Returns:
a new pad that can be used to check the output of
element
- check_setup_sink_pad_by_name_from_template(element: Element, tmpl: PadTemplate, name: str) Pad#
Added in version 1.4.
- Parameters:
element – element to setup pad on
tmpl – pad template
name – name
- Returns:
a new pad
- check_setup_sink_pad_from_template(element: Element, tmpl: PadTemplate) Pad#
Added in version 1.4.
- Parameters:
element – element to setup pad on
tmpl – pad template
- Returns:
a new pad
- check_setup_src_pad(element: Element, tmpl: StaticPadTemplate) Pad#
Does the same as
gst_check_setup_src_pad_by_namewith the <emphasis> name </emphasis> parameter equal to “sink”.- Parameters:
element – element to setup pad on
tmpl – pad template
- Returns:
A new pad that can be used to inject data on
element
- check_setup_src_pad_by_name(element: Element, tmpl: StaticPadTemplate, name: str) Pad#
Creates a new src pad (based on the given
tmpl) and links it to the givenelementsink pad (the pad that matches the givenname). Before using the src pad to push data onelementyou need to callgst_check_setup_eventson the created src pad.Example of how to push a buffer on
element:static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS (YOUR_CAPS_TEMPLATE_STRING) ); static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS (YOUR_CAPS_TEMPLATE_STRING) ); GstElement * element = gst_check_setup_element ("element"); GstPad * mysrcpad = gst_check_setup_src_pad (element, &srctemplate); GstPad * mysinkpad = gst_check_setup_sink_pad (element, &sinktemplate); gst_pad_set_active (mysrcpad, TRUE); gst_pad_set_active (mysinkpad, TRUE); fail_unless (gst_element_set_state (element, GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS, "could not set to playing"); GstCaps * caps = gst_caps_from_string (YOUR_DESIRED_SINK_CAPS); gst_check_setup_events (mysrcpad, element, caps, GST_FORMAT_TIME); gst_caps_unref (caps); fail_unless (gst_pad_push (mysrcpad, gst_buffer_new_and_alloc(2)) == GST_FLOW_OK);
For very simple input/output test scenarios checkout
gst_check_element_push_buffer_listandgst_check_element_push_buffer.- Parameters:
element – element to setup src pad on
tmpl – pad template
name – Name of the
elementsink pad that will be linked to the src pad that will be setup
- Returns:
A new pad that can be used to inject data on
element
- check_setup_src_pad_by_name_from_template(element: Element, tmpl: PadTemplate, name: str) Pad#
Added in version 1.4.
- Parameters:
element – element to setup pad on
tmpl – pad template
name – name
- Returns:
a new pad
- check_setup_src_pad_from_template(element: Element, tmpl: PadTemplate) Pad#
Added in version 1.4.
- Parameters:
element – element to setup pad on
tmpl – pad template
- Returns:
a new pad
- consistency_checker_add_pad(consist: StreamConsistency, pad: Pad) bool#
Sets up a data probe on the given pad which will raise assertions if the data flow is inconsistent.
- Parameters:
consist – The
StreamConsistencyhandlepad – The
Padon which the dataflow will be checked.
- Returns:
Trueif the pad was added
- consistency_checker_free(consist: StreamConsistency) None#
Frees the allocated data and probes associated with
consist.- Parameters:
consist – The
StreamConsistencyto free.
- consistency_checker_reset(consist: StreamConsistency) None#
Reset the stream checker’s internal variables.
- Parameters:
consist – The
StreamConsistencyto reset.
- harness_stress_thread_stop(t: HarnessThread) int#
- Parameters:
t