diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2016-02-29 11:39:54 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2016-03-25 12:50:15 +0200 |
commit | b53f682d75df9d585386221f6f6351056a6e8c88 (patch) | |
tree | d1188a132907fff0ef5d6b75635ef0d93ca361d7 /gst/sdp/gstsdpsrc.h | |
parent | cfbe7d1399f73345ce430739d4f2cfa82824ef53 (diff) | |
download | gstreamer-plugins-bad-b53f682d75df9d585386221f6f6351056a6e8c88.tar.gz |
sdp: Add new sdpsrc element
This can read from an SDP file or get the SDP data via property. Works
around the problem that sdpdemux inside decodebin fails because the
GST_STATE_CHANGE_NO_PREROLL is not observed by the pipeline.
See https://bugzilla.gnome.org/show_bug.cgi?id=702495
https://bugzilla.gnome.org/show_bug.cgi?id=762860
Diffstat (limited to 'gst/sdp/gstsdpsrc.h')
-rw-r--r-- | gst/sdp/gstsdpsrc.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/gst/sdp/gstsdpsrc.h b/gst/sdp/gstsdpsrc.h new file mode 100644 index 000000000..05f2074f9 --- /dev/null +++ b/gst/sdp/gstsdpsrc.h @@ -0,0 +1,62 @@ +/* GStreamer + * Copyright (C) 2016 Sebastian Dröge <sebastian@centricular.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef __GST_SDP_SRC_H__ +#define __GST_SDP_SRC_H__ + +#include <gst/gst.h> + +G_BEGIN_DECLS +#define GST_TYPE_SDP_SRC \ + (gst_sdp_src_get_type()) +#define GST_SDP_SRC(obj) \ + (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_SDP_SRC, GstSdpSrc)) +#define GST_SDP_SRC_CAST(obj) \ + ((GstSdpSrc *) obj) +#define GST_SDP_SRC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_SDP_SRC, GstSdpSrcClass)) +#define GST_IS_SDP_SRC(obj) \ + (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_SDP_SRC)) +#define GST_IS_SDP_SRC_CLASS(klass) \ + (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_SDP_SRC)) + +typedef struct _GstSdpSrc GstSdpSrc; +typedef struct _GstSdpSrcClass GstSdpSrcClass; + +struct _GstSdpSrc +{ + GstBin parent; + + gchar *location; + gchar *sdp; + + GstBuffer *sdp_buffer; + GstElement *src; + GstElement *demux; +}; + +struct _GstSdpSrcClass +{ + GstBinClass parent; +}; + +GType gst_sdp_src_get_type (void); + +G_END_DECLS +#endif /* __GST_SDP_SRC_H__ */ |