2 * Copyright 2015 Andrew Eikum for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 #include "wine/list.h"
27 GST_AUTOPLUG_SELECT_TRY
,
28 GST_AUTOPLUG_SELECT_EXPOSE
,
29 GST_AUTOPLUG_SELECT_SKIP
30 } GstAutoplugSelectResult
;
37 BYTESTREAM_WRAPPER_PULL
,
39 BYTESTREAM_PAD_MODE_ACTIVATE
,
40 BYTESTREAM_PAD_EVENT_PROCESS
,
43 MF_SRC_STREAM_REMOVED
,
51 struct watch_bus_data
{
57 struct pad_added_data
{
62 struct query_function_data
{
67 } query_function_data
;
68 struct activate_mode_data
{
75 struct no_more_pads_data
{
79 struct getrange_data
{
87 struct event_src_data
{
93 struct pad_removed_data
{
98 struct query_sink_data
{
107 pthread_mutex_t lock
;
112 void mark_wine_thread(void) DECLSPEC_HIDDEN
;
113 void perform_cb_gstdemux(struct cb_data
*data
) DECLSPEC_HIDDEN
;
114 void perform_cb_media_source(struct cb_data
*data
) DECLSPEC_HIDDEN
;
116 void existing_new_pad_wrapper(GstElement
*bin
, GstPad
*pad
, gpointer user
) DECLSPEC_HIDDEN
;
117 gboolean
activate_mode_wrapper(GstPad
*pad
, GstObject
*parent
, GstPadMode mode
, gboolean activate
) DECLSPEC_HIDDEN
;
118 GstFlowReturn
got_data_wrapper(GstPad
*pad
, GstObject
*parent
, GstBuffer
*buf
) DECLSPEC_HIDDEN
;
119 void Gstreamer_transform_pad_added_wrapper(GstElement
*filter
, GstPad
*pad
, gpointer user
) DECLSPEC_HIDDEN
;
120 gboolean
query_sink_wrapper(GstPad
*pad
, GstObject
*parent
, GstQuery
*query
) DECLSPEC_HIDDEN
;
121 GstFlowReturn
bytestream_wrapper_pull_wrapper(GstPad
*pad
, GstObject
*parent
, guint64 ofs
, guint len
, GstBuffer
**buf
) DECLSPEC_HIDDEN
;
122 gboolean
bytestream_query_wrapper(GstPad
*pad
, GstObject
*parent
, GstQuery
*query
) DECLSPEC_HIDDEN
;
123 gboolean
bytestream_pad_mode_activate_wrapper(GstPad
*pad
, GstObject
*parent
, GstPadMode mode
, gboolean activate
) DECLSPEC_HIDDEN
;
124 gboolean
bytestream_pad_event_process_wrapper(GstPad
*pad
, GstObject
*parent
, GstEvent
*event
) DECLSPEC_HIDDEN
;
125 GstBusSyncReply
mf_src_bus_watch_wrapper(GstBus
*bus
, GstMessage
*message
, gpointer user
) DECLSPEC_HIDDEN
;
126 void mf_src_stream_added_wrapper(GstElement
*bin
, GstPad
*pad
, gpointer user
) DECLSPEC_HIDDEN
;
127 void mf_src_stream_removed_wrapper(GstElement
*element
, GstPad
*pad
, gpointer user
) DECLSPEC_HIDDEN
;
128 void mf_src_no_more_pads_wrapper(GstElement
*element
, gpointer user
) DECLSPEC_HIDDEN
;