gst_rtmp_sink_class_init (GstRTMPSinkClass * klass)
{
GObjectClass *gobject_class;
- GstBaseSinkClass *gstbasesink_class = (GstBaseSinkClass *) klass;
+ GstElementClass *gstelement_class;
+ GstBaseSinkClass *gstbasesink_class;
gobject_class = (GObjectClass *) klass;
+ gstelement_class = (GstElementClass *) klass;
+ gstbasesink_class = (GstBaseSinkClass *) klass;
+
+ gobject_class->finalize = gst_rtmp_sink_finalize;
gobject_class->set_property = gst_rtmp_sink_set_property;
gobject_class->get_property = gst_rtmp_sink_get_property;
* initialize instance structure
*/
static void
-gst_rtmp_sink_init (GstRTMPSink * sink, GstRTMPSinkClass * klass)
+gst_rtmp_sink_init (GstRTMPSink * sink)
{
+ #ifdef G_OS_WIN32
+ WSADATA wsa_data;
+
+ if (WSAStartup (MAKEWORD (2, 2), &wsa_data) != 0) {
+ GST_ERROR_OBJECT (sink, "WSAStartup failed: 0x%08x", WSAGetLastError ());
+ }
+ #endif
+ }
+
+ static void
+ gst_rtmp_sink_finalize (GObject * object)
+ {
+ #ifdef G_OS_WIN32
+ WSACleanup ();
+ #endif
+
+ G_OBJECT_CLASS (parent_class)->finalize (object);
}
+
static gboolean
gst_rtmp_sink_start (GstBaseSink * basesink)
{
}
static void
-gst_rtmp_src_init (GstRTMPSrc * rtmpsrc, GstRTMPSrcClass * klass)
+gst_rtmp_src_init (GstRTMPSrc * rtmpsrc)
{
+ #ifdef G_OS_WIN32
+ WSADATA wsa_data;
+
+ if (WSAStartup (MAKEWORD (2, 2), &wsa_data) != 0) {
+ GST_ERROR_OBJECT (rtmpsrc, "WSAStartup failed: 0x%08x", WSAGetLastError ());
+ }
+ #endif
+
rtmpsrc->cur_offset = 0;
rtmpsrc->last_timestamp = 0;