gstrtsptransport

gstrtsptransport — dealing with RTSP transports

Functions

Types and Values

Includes

#include <gst/rtsp/gstrtsptransport.h>

Description

Provides helper functions to deal with RTSP transport strings.

Functions

gst_rtsp_transport_new ()

GstRTSPResult
gst_rtsp_transport_new (GstRTSPTransport **transport);

Allocate a new initialized GstRTSPTransport. Use gst_rtsp_transport_free() after usage.

Parameters

transport

location to hold the new GstRTSPTransport

 

Returns

a GstRTSPResult.


gst_rtsp_transport_init ()

GstRTSPResult
gst_rtsp_transport_init (GstRTSPTransport *transport);

Initialize transport so that it can be used.

Parameters

transport

a GstRTSPTransport

 

Returns

GST_RTSP_OK.


gst_rtsp_transport_parse ()

GstRTSPResult
gst_rtsp_transport_parse (const gchar *str,
                          GstRTSPTransport *transport);

Parse the RTSP transport string str into transport .

Parameters

str

a transport string

 

transport

a GstRTSPTransport

 

Returns

a GstRTSPResult.


gst_rtsp_transport_as_text ()

gchar *
gst_rtsp_transport_as_text (GstRTSPTransport *transport);

Convert transport into a string that can be used to signal the transport in an RTSP SETUP response.

Parameters

transport

a GstRTSPTransport

 

Returns

a string describing the RTSP transport or NULL when the transport is invalid.


gst_rtsp_transport_get_mime ()

GstRTSPResult
gst_rtsp_transport_get_mime (GstRTSPTransMode trans,
                             const gchar **mime);

gst_rtsp_transport_get_mime is deprecated and should not be used in newly-written code.

This functions only deals with the GstRTSPTransMode and only returns the mime type for GST_RTSP_PROFILE_AVP. Use gst_rtsp_transport_get_media_type() instead.

Get the mime type of the transport mode trans . This mime type is typically used to generate GstCaps events.

Parameters

trans

a GstRTSPTransMode

 

mime

location to hold the result

 

Returns

GST_RTSP_OK.


gst_rtsp_transport_get_manager ()

GstRTSPResult
gst_rtsp_transport_get_manager (GstRTSPTransMode trans,
                                const gchar **manager,
                                guint option);

Get the GstElement that can handle the buffers transported over trans .

It is possible that there are several managers available, use option to selected one.

manager will contain an element name or NULL when no manager is needed/available for trans .

Parameters

trans

a GstRTSPTransMode

 

manager

location to hold the result

 

option

option index.

 

Returns

GST_RTSP_OK.


gst_rtsp_transport_free ()

GstRTSPResult
gst_rtsp_transport_free (GstRTSPTransport *transport);

Free the memory used by transport .

Parameters

transport

a GstRTSPTransport

 

Returns

GST_RTSP_OK.

Types and Values

enum GstRTSPTransMode

The transfer mode to use.

Members

GST_RTSP_TRANS_UNKNOWN

invalid tansport mode

 

GST_RTSP_TRANS_RTP

transfer RTP data

 

GST_RTSP_TRANS_RDT

transfer RDT (RealMedia) data

 

enum GstRTSPProfile

The transfer profile to use.

Members

GST_RTSP_PROFILE_UNKNOWN

invalid profile

 

GST_RTSP_PROFILE_AVP

the Audio/Visual profile (RFC 3551)

 

GST_RTSP_PROFILE_SAVP

the secure Audio/Visual profile (RFC 3711)

 

GST_RTSP_PROFILE_AVPF

the Audio/Visual profile with feedback (RFC 4585)

 

GST_RTSP_PROFILE_SAVPF

the secure Audio/Visual profile with feedback (RFC 5124)

 

struct GstRTSPRange

struct GstRTSPRange {
  gint min;
  gint max;
};

A type to specify a range.

Members

gint min;

minimum value of the range

 

gint max;

maximum value of the range

 

enum GstRTSPLowerTrans

The different transport methods.

Members

GST_RTSP_LOWER_TRANS_UNKNOWN

invalid transport flag

 

GST_RTSP_LOWER_TRANS_UDP

stream data over UDP

 

GST_RTSP_LOWER_TRANS_UDP_MCAST

stream data over UDP multicast

 

GST_RTSP_LOWER_TRANS_TCP

stream data over TCP

 

GST_RTSP_LOWER_TRANS_HTTP

stream data tunneled over HTTP.

 

GST_RTSP_LOWER_TRANS_TLS

encrypt TCP and HTTP with TLS

 

struct GstRTSPTransport

struct GstRTSPTransport {
  GstRTSPTransMode  trans;
  GstRTSPProfile    profile;
  GstRTSPLowerTrans lower_transport;

  gchar         *destination;
  gchar         *source;
  guint          layers;
  gboolean       mode_play;
  gboolean       mode_record;
  gboolean       append;
  GstRTSPRange   interleaved;

  /* multicast specific */
  guint  ttl;
  GstRTSPRange   port;

  /* UDP/TCP specific */
  GstRTSPRange   client_port;
  GstRTSPRange   server_port;
  /* RTP specific */
  guint          ssrc;
};

A structure holding the RTSP transport values.

Members

GstRTSPTransMode trans;

the transport mode

 

GstRTSPProfile profile;

the tansport profile

 

GstRTSPLowerTrans lower_transport;

the lower transport

 

gchar *destination;

the destination ip/hostname

 

gchar *source;

the source ip/hostname

 

guint layers;

the number of layers

 

gboolean mode_play;

if play mode was selected

 

gboolean mode_record;

if record mode was selected

 

gboolean append;

is append mode was selected

 

GstRTSPRange interleaved;

the interleave range

 

guint ttl;

the time to live for multicast UDP

 

GstRTSPRange port;

the port pair for multicast sessions

 

GstRTSPRange client_port;

the client port pair for receiving data. For TCP based transports, applications can use this field to store the sender and receiver ports of the client.

 

GstRTSPRange server_port;

the server port pair for receiving data. For TCP based transports, applications can use this field to store the sender and receiver ports of the server.

 

guint ssrc;

the ssrc that the sender/receiver will use