/* vmethods */
gboolean (*handle_message) (GstRTSPMedia *media, GstMessage *message);
gboolean (*prepare) (GstRTSPMedia *media, GstRTSPThread *thread);
+ gboolean (*start_preroll) (GstRTSPMedia *media);
gboolean (*unprepare) (GstRTSPMedia *media);
gboolean (*suspend) (GstRTSPMedia *media);
gboolean (*unsuspend) (GstRTSPMedia *media);
GstElement * (*create_rtpbin) (GstRTSPMedia *media);
gboolean (*setup_rtpbin) (GstRTSPMedia *media, GstElement *rtpbin);
gboolean (*setup_sdp) (GstRTSPMedia *media, GstSDPMessage *sdp, GstSDPInfo *info);
+ gboolean (*start_prepare) (GstRTSPMedia *media);
/* signals */
void (*new_stream) (GstRTSPMedia *media, GstRTSPStream * stream);
gboolean (*handle_sdp) (GstRTSPMedia *media, GstSDPMessage *sdp);
+ void (*preparing) (GstRTSPMedia *media, GstRTSPStream * stream, guint idx);
+ void (*unpreparing) (GstRTSPMedia *media, GstRTSPStream * stream, guint idx);
/*< private >*/
gpointer _gst_reserved[GST_PADDING_LARGE-1];
};
void gst_rtsp_media_collect_streams (GstRTSPMedia *media);
GstRTSPStream * gst_rtsp_media_create_stream (GstRTSPMedia *media,
GstElement *payloader,
- GstPad *srcpad);
+ GstPad *pad);
/* dealing with the media */
GstClock * gst_rtsp_media_get_clock (GstRTSPMedia *media);
GPtrArray *transports);
void gst_rtsp_media_set_pipeline_state (GstRTSPMedia * media,
GstState state);
+GstStateChangeReturn gst_rtsp_media_set_target_state (GstRTSPMedia * media, GstState state, gboolean do_state);
+void gst_rtsp_media_set_status (GstRTSPMedia * media, GstRTSPMediaStatus status);
+
+GstElement * gst_rtsp_media_get_pipeline (GstRTSPMedia * media);
+GstElement * gst_rtsp_media_get_rtpbin (GstRTSPMedia * media);
G_END_DECLS