GstRtspServer.RTSPMedia

g GObject.Object GObject.Object GstRtspServer.RTSPMedia GstRtspServer.RTSPMedia GObject.Object->GstRtspServer.RTSPMedia

Subclasses:

GstRtspServer.RTSPOnvifMedia

Methods

Inherited:

GObject.Object (37)

Structs:

GObject.ObjectClass (5)

class

new (element)

can_be_shared ()

collect_streams ()

complete_pipeline (transports)

create_stream (payloader, pad)

find_stream (control)

get_address_pool ()

get_base_time ()

get_buffer_size ()

get_clock ()

get_do_retransmission ()

get_dscp_qos ()

get_element ()

get_ensure_keyunit_on_start ()

get_ensure_keyunit_on_start_timeout ()

get_latency ()

get_max_mcast_ttl ()

get_multicast_iface ()

get_permissions ()

get_profiles ()

get_protocols ()

get_publish_clock_mode ()

get_range_string (play, unit)

get_rate_control ()

get_rates ()

get_retransmission_time ()

get_status ()

get_stream (idx)

get_suspend_mode ()

get_time_provider (address, port)

get_transport_mode ()

handle_sdp (sdp)

has_completed_sender ()

is_bind_mcast_address ()

is_eos_shutdown ()

is_receive_only ()

is_reusable ()

is_shared ()

is_stop_on_disconnect ()

is_time_provider ()

lock ()

n_streams ()

prepare (thread)

seek (range)

seek_full (range, flags)

seek_trickmode (range, flags, rate, trickmode_interval)

seekable ()

set_address_pool (pool)

set_bind_mcast_address (bind_mcast_addr)

set_buffer_size (size)

set_clock (clock)

set_do_retransmission (do_retransmission)

set_dscp_qos (dscp_qos)

set_ensure_keyunit_on_start (ensure_keyunit_on_start)

set_ensure_keyunit_on_start_timeout (timeout)

set_eos_shutdown (eos_shutdown)

set_latency (latency)

set_max_mcast_ttl (ttl)

set_multicast_iface (multicast_iface)

set_permissions (permissions)

set_pipeline_state (state)

set_profiles (profiles)

set_protocols (protocols)

set_publish_clock_mode (mode)

set_rate_control (enabled)

set_retransmission_time (time)

set_reusable (reusable)

set_shared (shared)

set_state (state, transports)

set_stop_on_disconnect (stop_on_disconnect)

set_suspend_mode (mode)

set_transport_mode (mode)

setup_sdp (sdp, info)

suspend ()

take_pipeline (pipeline)

unlock ()

unprepare ()

unsuspend ()

use_time_provider (time_provider)

Virtual Methods

Inherited:

GObject.Object (7)

do_convert_range (range, unit)

do_handle_message (message)

do_handle_sdp (sdp)

do_new_state (state)

do_new_stream (stream)

do_prepare (thread)

do_prepared ()

do_query_position (position)

do_query_stop (stop)

do_removed_stream (stream)

do_setup_rtpbin (rtpbin)

do_setup_sdp (sdp, info)

do_suspend ()

do_target_state (state)

do_unprepare ()

do_unprepared ()

do_unsuspend ()

Properties

Name

Type

Flags

Short Description

bind-mcast-address

bool

r/w

Whether the multicast sockets should be bound to multicast addresses or INADDR_ANY

buffer-size

int

r/w

The kernel UDP buffer size to use

clock

Gst.Clock

r/w

Clock to be used by the media pipeline

dscp-qos

int

r/w

The IP DSCP field to use for each related stream

element

Gst.Element

r/w/co

The Gst.Bin to use for streaming the media

ensure-keyunit-on-start

bool

r/w

Whether the stream will ensure a keyunit when a client connects.

ensure-keyunit-on-start-timeout

int

r/w

Timeout in milliseconds used to determine if a keyunit should be discarded when a client connects.

eos-shutdown

bool

r/w

Send an EOS event to the pipeline before unpreparing

latency

int

r/w

Latency used for receiving media in milliseconds

max-mcast-ttl

int

r/w

The maximum time-to-live value of outgoing multicast packets

profiles

GstRtsp.RTSPProfile

r/w

Allowed transfer profiles

protocols

GstRtsp.RTSPLowerTrans

r/w

Allowed lower transport protocols

reusable

bool

r/w

If this media pipeline can be reused after an unprepare

shared

bool

r/w

If this media pipeline can be shared

stop-on-disconnect

bool

r/w

If this media pipeline should be stopped when a client disconnects without TEARDOWN

suspend-mode

GstRtspServer.RTSPSuspendMode

r/w

How to suspend the media in PAUSED

time-provider

bool

r/w

Use a NetTimeProvider for clients

transport-mode

GstRtspServer.RTSPTransportMode

r/w

If this media pipeline can be used for PLAY or RECORD

Signals

Inherited:

GObject.Object (1)

Name

Short Description

handle-message

Will be emitted when a message appears on the pipeline bus.

new-state

new-stream

prepared

removed-stream

target-state

unprepared

Fields

Inherited:

GObject.Object (1)

Name

Type

Access

Description

parent

GObject.Object

r

Class Details

class GstRtspServer.RTSPMedia(**kwargs)
Bases:

GObject.Object

Abstract:

No

Structure:

GstRtspServer.RTSPMediaClass

A class that contains the GStreamer element along with a list of GstRtspServer.RTSPStream objects that can produce GstRtsp.data.

This object is usually created from a GstRtspServer.RTSPMediaFactory.

classmethod new(element)[source]
Parameters:

element (Gst.Element) – a Gst.Element

Returns:

a new GstRtspServer.RTSPMedia object.

Return type:

GstRtspServer.RTSPMedia

Create a new GstRtspServer.RTSPMedia instance. element is the bin element that provides the different streams. The GstRtspServer.RTSPMedia object contains the element to produce RTP GstRtsp.data for one or more related (audio/video/..) streams.

Ownership is taken of element.

can_be_shared()[source]
Returns:

True if the media can be shared between clients.

Return type:

bool

Check if the pipeline for self can be shared between multiple clients.

This checks if the media is shareable and whether it is either reusable or was never unprepared before.

The function must be called with GstRtspServer.RTSPMedia.lock().

New in version 1.24.

collect_streams()[source]

Find all payloader elements, they should be named pay\%d in the element of self, and create GstRtspServer.RTSPStreams for them.

Collect all dynamic elements, named dynpay\%d, and add them to the list of dynamic elements.

Find all depayloader elements, they should be named depay\%d in the element of self, and create GstRtspServer.RTSPStreams for them.

complete_pipeline(transports)[source]
Parameters:

transports ([GstRtsp.RTSPTransport]) – a list of GstRtsp.RTSPTransport

Returns:

True if the media pipeline has been sucessfully updated.

Return type:

bool

Add a receiver and sender parts to the pipeline based on the transport from SETUP.

New in version 1.14.

create_stream(payloader, pad)[source]
Parameters:
Returns:

a new GstRtspServer.RTSPStream that remains valid for as long as self exists.

Return type:

GstRtspServer.RTSPStream

Create a new stream in self that provides RTP GstRtsp.data on pad. pad should be a pad of an element inside self->element.

find_stream(control)[source]
Parameters:

control (str) – the control of the stream

Returns:

the GstRtspServer.RTSPStream with control uri control or None when a stream with that control did not exist.

Return type:

GstRtspServer.RTSPStream or None

Find a stream in self with control as the control uri.

get_address_pool()[source]
Returns:

the GstRtspServer.RTSPAddressPool of self. GObject.Object.unref() after usage.

Return type:

GstRtspServer.RTSPAddressPool or None

Get the GstRtspServer.RTSPAddressPool used as the address pool of self.

get_base_time()[source]
Returns:

the base_time used by self.

Return type:

int

Get the base_time that is used by the pipeline in self.

self must be prepared before this method returns a valid base_time.

get_buffer_size()[source]
Returns:

the kernel UDP buffer size.

Return type:

int

Get the kernel UDP buffer size.

get_clock()[source]
Returns:

the Gst.Clock used by self. unref after usage.

Return type:

Gst.Clock or None

Get the clock that is used by the pipeline in self.

self must be prepared before this method returns a valid clock object.

get_do_retransmission()[source]
Returns:

Whether retransmission requests will be sent

Return type:

bool

New in version 1.16.

get_dscp_qos()[source]
Returns:

the DSCP QoS value of attached streams or -1 if disabled.

Return type:

int

Get the configured DSCP QoS of attached media.

New in version 1.18.

get_element()[source]
Returns:

a Gst.Element. Unref after usage.

Return type:

Gst.Element

Get the element that was used when constructing self.

get_ensure_keyunit_on_start()[source]
Returns:

The ensure-keyunit-on-start flag.

Return type:

bool

Get ensure-keyunit-on-start flag.

New in version 1.24.

get_ensure_keyunit_on_start_timeout()[source]
Returns:

The ensure-keyunit-on-start-timeout time.

Return type:

int

Get ensure-keyunit-on-start-timeout time.

New in version 1.24.

get_latency()[source]
Returns:

latency in milliseconds

Return type:

int

Get the latency that is used for receiving media.

get_max_mcast_ttl()[source]
Returns:

the maximum time-to-live value of outgoing multicast packets.

Return type:

int

Get the the maximum time-to-live value of outgoing multicast packets.

New in version 1.16.

get_multicast_iface()[source]
Returns:

the multicast interface for self. GLib.free() after usage.

Return type:

str or None

Get the multicast interface used for self.

get_permissions()[source]
Returns:

a GstRtspServer.RTSPPermissions object, unref after usage.

Return type:

GstRtspServer.RTSPPermissions or None

Get the permissions object from self.

get_profiles()[source]
Returns:

a GstRtsp.RTSPProfile

Return type:

GstRtsp.RTSPProfile

Get the allowed profiles of self.

get_protocols()[source]
Returns:

a GstRtsp.RTSPLowerTrans

Return type:

GstRtsp.RTSPLowerTrans

Get the allowed protocols of self.

get_publish_clock_mode()[source]
Returns:

The GstRtspServer.RTSPPublishClockMode

Return type:

GstRtspServer.RTSPPublishClockMode

Gets if and how the media clock should be published according to RFC7273.

New in version 1.8.

get_range_string(play, unit)[source]
Parameters:
Returns:

The range as a string, GLib.free() after usage.

Return type:

str or None

Get the current range as a string. self must be prepared with GstRtspServer.RTSPMedia.prepare ().

get_rate_control()[source]
Returns:

whether self will follow the Rate-Control=no behaviour as specified in the ONVIF replay spec.

Return type:

bool

New in version 1.18.

get_rates()[source]
Returns:

False if looking up the rate and applied rate failed. Otherwise True is returned and rate and applied_rate are set to the rate and applied_rate of the current segment.

rate:

the rate of the current segment

applied_rate:

the applied_rate of the current segment

Return type:

(bool, rate: float, applied_rate: float)

Get the rate and applied_rate of the current segment.

New in version 1.18.

get_retransmission_time()[source]
Returns:

the amount of time to store retransmission GstRtsp.data.

Return type:

int

Get the amount of time to store retransmission GstRtsp.data.

get_status()[source]
Returns:

the status of self.

Return type:

GstRtspServer.RTSPMediaStatus

Get the status of self. When self is busy preparing, this function waits until self is prepared or in error.

get_stream(idx)[source]
Parameters:

idx (int) – the stream index

Returns:

the GstRtspServer.RTSPStream at index idx or None when a stream with that index did not exist.

Return type:

GstRtspServer.RTSPStream or None

Retrieve the stream with index idx from self.

get_suspend_mode()[source]
Returns:

GstRtspServer.RTSPSuspendMode.

Return type:

GstRtspServer.RTSPSuspendMode

Get how self will be suspended.

get_time_provider(address, port)[source]
Parameters:
  • address (str or None) – an address or None

  • port (int) – a port or 0

Returns:

the GstNet.NetTimeProvider of self.

Return type:

GstNet.NetTimeProvider or None

Get the GstNet.NetTimeProvider for the clock used by self. The time provider will listen on address and port for client time requests.

get_transport_mode()[source]
Returns:

The transport mode.

Return type:

GstRtspServer.RTSPTransportMode

Check if the pipeline for self can be used for PLAY or RECORD methods.

handle_sdp(sdp)[source]
Parameters:

sdp (GstSdp.SDPMessage) – a GstSdp.SDPMessage

Returns:

True on success.

Return type:

bool

Configure an SDP on self for receiving streams

has_completed_sender()[source]
Returns:

whether self has at least one complete sender stream.

Return type:

bool

See GstRtspServer.RTSPStream.is_complete(), GstRtspServer.RTSPStream.is_sender().

New in version 1.18.

is_bind_mcast_address()[source]
Returns:

True if multicast sockets are configured to be bound to multicast addresses.

Return type:

bool

Check if multicast sockets are configured to be bound to multicast addresses.

New in version 1.16.

is_eos_shutdown()[source]
Returns:

True if the media will send EOS before unpreparing.

Return type:

bool

Check if the pipeline for self will send an EOS down the pipeline before unpreparing.

is_receive_only()[source]
Returns:

True if self is receive-only, False otherwise.

Return type:

bool

New in version 1.18.

is_reusable()[source]
Returns:

True if the media can be reused

Return type:

bool

Check if the pipeline for self can be reused after an unprepare.

is_shared()[source]
Returns:

True if the media can be shared between clients.

Return type:

bool

Check if the pipeline for self can be shared between multiple clients in theory. This simply returns the value set via GstRtspServer.RTSPMedia.set_shared().

To know if a media can be shared in practice, i.e. if it’s shareable and either reusable or was never unprepared before, use GstRtspServer.RTSPMedia.can_be_shared().

is_stop_on_disconnect()[source]
Returns:

True if the media will be stopped when a client disconnects without sending TEARDOWN.

Return type:

bool

Check if the pipeline for self will be stopped when a client disconnects without sending TEARDOWN.

is_time_provider()[source]
Returns:

True if self can provide a GstNet.NetTimeProvider.

Return type:

bool

Check if self can provide a GstNet.NetTimeProvider for its pipeline clock.

Use GstRtspServer.RTSPMedia.get_time_provider() to get the network clock.

lock()[source]

Lock the entire media. This is needed by callers such as rtsp_client to protect the media when it is shared by many clients. The lock prevents that concurrent clients alters the shared media, while one client already is working with it. Typically the lock is taken in external RTSP API calls that uses shared media such as DESCRIBE, SETUP, ANNOUNCE, TEARDOWN, PLAY, PAUSE.

As best practice take the lock as soon as the function get hold of a shared media object. Release the lock right before the function returns.

New in version 1.18.

n_streams()[source]
Returns:

The number of streams.

Return type:

int

Get the number of streams in this media.

prepare(thread)[source]
Parameters:

thread (GstRtspServer.RTSPThread or None) – a GstRtspServer.RTSPThread to run the bus handler or None

Returns:

True on success.

Return type:

bool

Prepare self for streaming. This function will create the objects to manage the streaming. A pipeline must have been set on self with GstRtspServer.RTSPMedia.take_pipeline().

It will preroll the pipeline and collect vital information about the streams such as the duration.

seek(range)[source]
Parameters:

range (GstRtsp.RTSPTimeRange) – a GstRtsp.RTSPTimeRange

Returns:

True on success.

Return type:

bool

Seek the pipeline of self to range. self must be prepared with GstRtspServer.RTSPMedia.prepare().

seek_full(range, flags)[source]
Parameters:
Returns:

True on success.

Return type:

bool

Seek the pipeline of self to range with the given flags. self must be prepared with GstRtspServer.RTSPMedia.prepare().

New in version 1.18.

seek_trickmode(range, flags, rate, trickmode_interval)[source]
Parameters:
Returns:

True on success.

Return type:

bool

Seek the pipeline of self to range with the given flags and rate, and trickmode_interval. self must be prepared with GstRtspServer.RTSPMedia.prepare(). In order to perform the seek operation, the pipeline must contain all needed transport parts (transport sinks).

New in version 1.18.

seekable()[source]
Returns:

-1 if the stream is not seekable, 0 if seekable only to the beginning and > 0 to indicate the longest duration between any two random access points. GObject.G_MAXINT64 means any value is possible.

Return type:

int

Check if the pipeline for self seek and up to what point in time, it can seek.

New in version 1.14.

set_address_pool(pool)[source]
Parameters:

pool (GstRtspServer.RTSPAddressPool or None) – a GstRtspServer.RTSPAddressPool

configure pool to be used as the address pool of self.

set_bind_mcast_address(bind_mcast_addr)[source]
Parameters:

bind_mcast_addr (bool) – the new value

Decide whether the multicast socket should be bound to a multicast address or INADDR_ANY.

New in version 1.16.

set_buffer_size(size)[source]
Parameters:

size (int) – the new value

Set the kernel UDP buffer size.

set_clock(clock)[source]
Parameters:

clock (Gst.Clock or None) – Gst.Clock to be used

Configure the clock used for the media.

set_do_retransmission(do_retransmission)[source]
Parameters:

do_retransmission (bool) –

Set whether retransmission requests will be sent

New in version 1.16.

set_dscp_qos(dscp_qos)[source]
Parameters:

dscp_qos (int) – a new dscp qos value (0-63, or -1 to disable)

Configure the dscp qos of attached streams to dscp_qos.

New in version 1.18.

set_ensure_keyunit_on_start(ensure_keyunit_on_start)[source]
Parameters:

ensure_keyunit_on_start (bool) – the new value

Set whether or not a keyunit should be ensured when a client connects. It will also configure the streams to drop delta units to ensure that they start on a keyunit.

Note that this will only affect non-shared medias for now.

New in version 1.24.

set_ensure_keyunit_on_start_timeout(timeout)[source]
Parameters:

timeout (int) – the new value

Sets the maximum allowed time before the first keyunit is considered expired.

Note that this will only have an effect when ensure-keyunit-on-start is enabled.

New in version 1.24.

set_eos_shutdown(eos_shutdown)[source]
Parameters:

eos_shutdown (bool) – the new value

Set or unset if an EOS event will be sent to the pipeline for self before it is unprepared.

set_latency(latency)[source]
Parameters:

latency (int) – latency in milliseconds

Configure the latency used for receiving media.

set_max_mcast_ttl(ttl)[source]
Parameters:

ttl (int) – the new multicast ttl value

Returns:

True if the requested ttl has been set successfully.

Return type:

bool

Set the maximum time-to-live value of outgoing multicast packets.

New in version 1.16.

set_multicast_iface(multicast_iface)[source]
Parameters:

multicast_iface (str or None) – a multicast interface name

configure multicast_iface to be used for self.

set_permissions(permissions)[source]
Parameters:

permissions (GstRtspServer.RTSPPermissions or None) – a GstRtspServer.RTSPPermissions

Set permissions on self.

set_pipeline_state(state)[source]
Parameters:

state (Gst.State) – the target state of the pipeline

Set the state of the pipeline managed by self to state

set_profiles(profiles)[source]
Parameters:

profiles (GstRtsp.RTSPProfile) – the new flags

Configure the allowed lower transport for self.

set_protocols(protocols)[source]
Parameters:

protocols (GstRtsp.RTSPLowerTrans) – the new flags

Configure the allowed lower transport for self.

set_publish_clock_mode(mode)[source]
Parameters:

mode (GstRtspServer.RTSPPublishClockMode) – the clock publish mode

Sets if and how the media clock should be published according to RFC7273.

New in version 1.8.

set_rate_control(enabled)[source]
Parameters:

enabled (bool) –

Define whether self will follow the Rate-Control=no behaviour as specified in the ONVIF replay spec.

New in version 1.18.

set_retransmission_time(time)[source]
Parameters:

time (int) – the new value

Set the amount of time to store retransmission packets.

set_reusable(reusable)[source]
Parameters:

reusable (bool) – the new value

Set or unset if the pipeline for self can be reused after the pipeline has been unprepared.

set_shared(shared)[source]
Parameters:

shared (bool) – the new value

Set or unset if the pipeline for self can be shared will multiple clients. When shared is True, client requests for this media will share the media pipeline.

set_state(state, transports)[source]
Parameters:
Returns:

True on success.

Return type:

bool

Set the state of self to state and for the transports in transports.

self must be prepared with GstRtspServer.RTSPMedia.prepare();

set_stop_on_disconnect(stop_on_disconnect)[source]
Parameters:

stop_on_disconnect (bool) – the new value

Set or unset if the pipeline for self should be stopped when a client disconnects without sending TEARDOWN.

set_suspend_mode(mode)[source]
Parameters:

mode (GstRtspServer.RTSPSuspendMode) – the new GstRtspServer.RTSPSuspendMode

Control how @ media will be suspended after the SDP has been generated and after a PAUSE GstRtsp.request has been performed.

Media must be unprepared when setting the suspend mode.

set_transport_mode(mode)[source]
Parameters:

mode (GstRtspServer.RTSPTransportMode) – the new value

Sets if the media pipeline can work in PLAY or RECORD mode

setup_sdp(sdp, info)[source]
Parameters:
Returns:

True on success.

Return type:

bool

Add self specific info to sdp. info is used to configure the connection information in the SDP.

suspend()[source]
Returns:

True on success.

Return type:

bool

Suspend self. The state of the pipeline managed by self is set to Gst.State.NULL but all streams are kept. self can be prepared again with GstRtspServer.RTSPMedia.unsuspend()

self must be prepared with GstRtspServer.RTSPMedia.prepare();

take_pipeline(pipeline)[source]
Parameters:

pipeline (Gst.Pipeline) – a Gst.Pipeline

Set pipeline as the Gst.Pipeline for self. Ownership is taken of pipeline.

unlock()[source]

Unlock the media.

New in version 1.18.

unprepare()[source]
Returns:

True on success.

Return type:

bool

Unprepare self. After this call, the media should be prepared again before it can be used again. If the media is set to be non-reusable, a new instance must be created.

unsuspend()[source]
Returns:

True on success.

Return type:

bool

Unsuspend self if it was in a suspended state. This method does nothing when the media was not in the suspended state.

use_time_provider(time_provider)[source]
Parameters:

time_provider (bool) – if a GstNet.NetTimeProvider should be used

Set self to provide a GstNet.NetTimeProvider.

do_convert_range(range, unit) virtual
Parameters:
Return type:

bool

convert a range to the given unit

do_handle_message(message) virtual
Parameters:

message (Gst.Message) –

Return type:

bool

handle a message

do_handle_sdp(sdp) virtual
Parameters:

sdp (GstSdp.SDPMessage) – a GstSdp.SDPMessage

Returns:

True on success.

Return type:

bool

Configure an SDP on media for receiving streams

do_new_state(state) virtual
Parameters:

state (Gst.State) –

do_new_stream(stream) virtual
Parameters:

stream (GstRtspServer.RTSPStream) –

do_prepare(thread) virtual
Parameters:

thread (GstRtspServer.RTSPThread or None) – a GstRtspServer.RTSPThread to run the bus handler or None

Returns:

True on success.

Return type:

bool

Prepare media for streaming. This function will create the objects to manage the streaming. A pipeline must have been set on media with GstRtspServer.RTSPMedia.take_pipeline().

It will preroll the pipeline and collect vital information about the streams such as the duration.

do_prepared() virtual
do_query_position(position) virtual
Parameters:

position (int) –

Return type:

bool

query the current position in the pipeline

do_query_stop(stop) virtual
Parameters:

stop (int) –

Return type:

bool

query when playback will stop

do_removed_stream(stream) virtual
Parameters:

stream (GstRtspServer.RTSPStream) –

do_setup_rtpbin(rtpbin) virtual
Parameters:

rtpbin (Gst.Element) –

Return type:

bool

do_setup_sdp(sdp, info) virtual
Parameters:
Returns:

True on success.

Return type:

bool

Add media specific info to sdp. info is used to configure the connection information in the SDP.

do_suspend() virtual
Returns:

True on success.

Return type:

bool

Suspend media. The state of the pipeline managed by media is set to Gst.State.NULL but all streams are kept. media can be prepared again with GstRtspServer.RTSPMedia.unsuspend()

media must be prepared with GstRtspServer.RTSPMedia.prepare();

do_target_state(state) virtual
Parameters:

state (Gst.State) –

do_unprepare() virtual
Returns:

True on success.

Return type:

bool

Unprepare media. After this call, the media should be prepared again before it can be used again. If the media is set to be non-reusable, a new instance must be created.

do_unprepared() virtual
do_unsuspend() virtual
Returns:

True on success.

Return type:

bool

Unsuspend media if it was in a suspended state. This method does nothing when the media was not in the suspended state.

Signal Details

GstRtspServer.RTSPMedia.signals.handle_message(r_t_s_p_media, message)
Signal Name:

handle-message

Flags:

RUN_LAST, DETAILED

Parameters:
Returns:

a bool indicating if the call was successful or not.

Return type:

bool

Will be emitted when a message appears on the pipeline bus.

New in version 1.22.

GstRtspServer.RTSPMedia.signals.new_state(r_t_s_p_media, object)
Signal Name:

new-state

Flags:

RUN_LAST

Parameters:
GstRtspServer.RTSPMedia.signals.new_stream(r_t_s_p_media, object)
Signal Name:

new-stream

Flags:

RUN_LAST

Parameters:
GstRtspServer.RTSPMedia.signals.prepared(r_t_s_p_media)
Signal Name:

prepared

Flags:

RUN_LAST

Parameters:

r_t_s_p_media (GstRtspServer.RTSPMedia) – The object which received the signal

GstRtspServer.RTSPMedia.signals.removed_stream(r_t_s_p_media, object)
Signal Name:

removed-stream

Flags:

RUN_LAST

Parameters:
GstRtspServer.RTSPMedia.signals.target_state(r_t_s_p_media, object)
Signal Name:

target-state

Flags:

RUN_LAST

Parameters:
GstRtspServer.RTSPMedia.signals.unprepared(r_t_s_p_media)
Signal Name:

unprepared

Flags:

RUN_LAST

Parameters:

r_t_s_p_media (GstRtspServer.RTSPMedia) – The object which received the signal

Property Details

GstRtspServer.RTSPMedia.props.bind_mcast_address
Name:

bind-mcast-address

Type:

bool

Default Value:

False

Flags:

READABLE, WRITABLE

Whether the multicast sockets should be bound to multicast addresses or INADDR_ANY

GstRtspServer.RTSPMedia.props.buffer_size
Name:

buffer-size

Type:

int

Default Value:

524288

Flags:

READABLE, WRITABLE

The kernel UDP buffer size to use

GstRtspServer.RTSPMedia.props.clock
Name:

clock

Type:

Gst.Clock

Default Value:

None

Flags:

READABLE, WRITABLE

Clock to be used by the media pipeline

GstRtspServer.RTSPMedia.props.dscp_qos
Name:

dscp-qos

Type:

int

Default Value:

-1

Flags:

READABLE, WRITABLE

The IP DSCP field to use for each related stream

GstRtspServer.RTSPMedia.props.element
Name:

element

Type:

Gst.Element

Default Value:

None

Flags:

READABLE, WRITABLE, CONSTRUCT_ONLY

The Gst.Bin to use for streaming the media

GstRtspServer.RTSPMedia.props.ensure_keyunit_on_start
Name:

ensure-keyunit-on-start

Type:

bool

Default Value:

False

Flags:

READABLE, WRITABLE

Whether or not a keyunit should be ensured when a client connects. It will also configure the streams to drop delta units to ensure that they start on a keyunit.

Note that this will only affect non-shared medias for now.

New in version 1.24.

GstRtspServer.RTSPMedia.props.ensure_keyunit_on_start_timeout
Name:

ensure-keyunit-on-start-timeout

Type:

int

Default Value:

100

Flags:

READABLE, WRITABLE

The maximum allowed time before the first keyunit is considered expired.

Note that this will only have an effect when ensure-keyunit-on-start is enabled.

New in version 1.24.

GstRtspServer.RTSPMedia.props.eos_shutdown
Name:

eos-shutdown

Type:

bool

Default Value:

False

Flags:

READABLE, WRITABLE

Send an EOS event to the pipeline before unpreparing

GstRtspServer.RTSPMedia.props.latency
Name:

latency

Type:

int

Default Value:

200

Flags:

READABLE, WRITABLE

Latency used for receiving media in milliseconds

GstRtspServer.RTSPMedia.props.max_mcast_ttl
Name:

max-mcast-ttl

Type:

int

Default Value:

255

Flags:

READABLE, WRITABLE

The maximum time-to-live value of outgoing multicast packets

GstRtspServer.RTSPMedia.props.profiles
Name:

profiles

Type:

GstRtsp.RTSPProfile

Default Value:

GstRtsp.RTSPProfile.AVP

Flags:

READABLE, WRITABLE

Allowed transfer profiles

GstRtspServer.RTSPMedia.props.protocols
Name:

protocols

Type:

GstRtsp.RTSPLowerTrans

Default Value:

GstRtsp.RTSPLowerTrans.UDP | GstRtsp.RTSPLowerTrans.UDP_MCAST | GstRtsp.RTSPLowerTrans.TCP

Flags:

READABLE, WRITABLE

Allowed lower transport protocols

GstRtspServer.RTSPMedia.props.reusable
Name:

reusable

Type:

bool

Default Value:

False

Flags:

READABLE, WRITABLE

If this media pipeline can be reused after an unprepare

GstRtspServer.RTSPMedia.props.shared
Name:

shared

Type:

bool

Default Value:

False

Flags:

READABLE, WRITABLE

If this media pipeline can be shared

GstRtspServer.RTSPMedia.props.stop_on_disconnect
Name:

stop-on-disconnect

Type:

bool

Default Value:

True

Flags:

READABLE, WRITABLE

If this media pipeline should be stopped when a client disconnects without TEARDOWN

GstRtspServer.RTSPMedia.props.suspend_mode
Name:

suspend-mode

Type:

GstRtspServer.RTSPSuspendMode

Default Value:

GstRtspServer.RTSPSuspendMode.NONE

Flags:

READABLE, WRITABLE

How to suspend the media in PAUSED

GstRtspServer.RTSPMedia.props.time_provider
Name:

time-provider

Type:

bool

Default Value:

False

Flags:

READABLE, WRITABLE

Use a NetTimeProvider for clients

GstRtspServer.RTSPMedia.props.transport_mode
Name:

transport-mode

Type:

GstRtspServer.RTSPTransportMode

Default Value:

GstRtspServer.RTSPTransportMode.PLAY

Flags:

READABLE, WRITABLE

If this media pipeline can be used for PLAY or RECORD