gstrtspextension

gstrtspextension — Interface for extending RTSP protocols

Types and Values

Includes

#include <gst/rtsp/gstrtspextension.h>

Description

This interface is implemented e.g. by the Windows Media Streaming RTSP exentension (rtspwms) and the RealMedia RTSP extension (rtspreal).

Functions

Types and Values

GstRTSPExtension

typedef struct _GstRTSPExtension GstRTSPExtension;

struct GstRTSPExtensionInterface

struct GstRTSPExtensionInterface {
  GTypeInterface parent;

  /* vfunctions */
  gboolean      (*detect_server)    (GstRTSPExtension *ext, GstRTSPMessage *resp);

  GstRTSPResult (*before_send)      (GstRTSPExtension *ext, GstRTSPMessage *req);
  GstRTSPResult (*after_send)       (GstRTSPExtension *ext, GstRTSPMessage *req, GstRTSPMessage *resp);

  GstRTSPResult (*parse_sdp)        (GstRTSPExtension *ext, GstSDPMessage *sdp, GstStructure *s);
  GstRTSPResult (*setup_media)      (GstRTSPExtension *ext, GstSDPMedia *media);

  gboolean      (*configure_stream) (GstRTSPExtension *ext, GstCaps *caps);

  GstRTSPResult (*get_transports)   (GstRTSPExtension *ext, GstRTSPLowerTrans protocols, gchar **transport);

  GstRTSPResult (*stream_select)    (GstRTSPExtension *ext, GstRTSPUrl *url);

  /* signals */
  GstRTSPResult (*send)             (GstRTSPExtension *ext, GstRTSPMessage *req, GstRTSPMessage *resp);

  /* ABI: more vfunctions added later */
  GstRTSPResult (*receive_request)  (GstRTSPExtension *ext, GstRTSPMessage *req);
};