Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Camilo Celis Guzman
gst-plugins-good
Commits
5ccd964d
Commit
5ccd964d
authored
Feb 01, 2011
by
Olivier Crête
👻
Committed by
Tim-Philipp Müller
Apr 15, 2011
Browse files
rtpsession: marshal GstBuffer as a MiniObject instead of a pointer
https://bugzilla.gnome.org/show_bug.cgi?id=622553
parent
41f3b300
Changes
2
Hide whitespace changes
Inline
Side-by-side
gst/rtpmanager/gstrtpbin-marshal.list
View file @
5ccd964d
...
...
@@ -7,6 +7,4 @@ VOID:UINT
VOID:UINT,UINT
VOID:OBJECT,OBJECT
UINT64:BOOL,UINT64
BOOL:POINTER,BOOL
VOID:UINT,UINT,UINT,UINT,POINTER
VOID:UINT64
gst/rtpmanager/rtpsession.c
View file @
5ccd964d
...
...
@@ -130,6 +130,75 @@ accumulate_trues (GSignalInvocationHint * ihint, GValue * return_accu,
return
TRUE
;
}
static
void
gst_rtp_bin_marshal_BOOLEAN__MINIOBJECT_BOOLEAN
(
GClosure
*
closure
,
GValue
*
return_value
G_GNUC_UNUSED
,
guint
n_param_values
,
const
GValue
*
param_values
,
gpointer
invocation_hint
G_GNUC_UNUSED
,
gpointer
marshal_data
)
{
typedef
gboolean
(
*
GMarshalFunc_BOOLEAN__MINIOBJECT_BOOLEAN
)
(
gpointer
data1
,
gpointer
arg_1
,
gboolean
arg_2
,
gpointer
data2
);
register
GMarshalFunc_BOOLEAN__MINIOBJECT_BOOLEAN
callback
;
register
GCClosure
*
cc
=
(
GCClosure
*
)
closure
;
register
gpointer
data1
,
data2
;
gboolean
v_return
;
g_return_if_fail
(
return_value
!=
NULL
);
g_return_if_fail
(
n_param_values
==
3
);
if
(
G_CCLOSURE_SWAP_DATA
(
closure
))
{
data1
=
closure
->
data
;
data2
=
g_value_peek_pointer
(
param_values
+
0
);
}
else
{
data1
=
g_value_peek_pointer
(
param_values
+
0
);
data2
=
closure
->
data
;
}
callback
=
(
GMarshalFunc_BOOLEAN__MINIOBJECT_BOOLEAN
)
(
marshal_data
?
marshal_data
:
cc
->
callback
);
v_return
=
callback
(
data1
,
gst_value_get_mini_object
(
param_values
+
1
),
g_value_get_boolean
(
param_values
+
2
),
data2
);
g_value_set_boolean
(
return_value
,
v_return
);
}
static
void
gst_rtp_bin_marshal_VOID__UINT_UINT_UINT_UINT_MINIOBJECT
(
GClosure
*
closure
,
GValue
*
return_value
G_GNUC_UNUSED
,
guint
n_param_values
,
const
GValue
*
param_values
,
gpointer
invocation_hint
G_GNUC_UNUSED
,
gpointer
marshal_data
)
{
typedef
void
(
*
GMarshalFunc_VOID__UINT_UINT_UINT_UINT_MINIOBJECT
)
(
gpointer
data1
,
guint
arg_1
,
guint
arg_2
,
guint
arg_3
,
guint
arg_4
,
gpointer
arg_5
,
gpointer
data2
);
register
GMarshalFunc_VOID__UINT_UINT_UINT_UINT_MINIOBJECT
callback
;
register
GCClosure
*
cc
=
(
GCClosure
*
)
closure
;
register
gpointer
data1
,
data2
;
g_return_if_fail
(
n_param_values
==
6
);
if
(
G_CCLOSURE_SWAP_DATA
(
closure
))
{
data1
=
closure
->
data
;
data2
=
g_value_peek_pointer
(
param_values
+
0
);
}
else
{
data1
=
g_value_peek_pointer
(
param_values
+
0
);
data2
=
closure
->
data
;
}
callback
=
(
GMarshalFunc_VOID__UINT_UINT_UINT_UINT_MINIOBJECT
)
(
marshal_data
?
marshal_data
:
cc
->
callback
);
callback
(
data1
,
g_value_get_uint
(
param_values
+
1
),
g_value_get_uint
(
param_values
+
2
),
g_value_get_uint
(
param_values
+
3
),
g_value_get_uint
(
param_values
+
4
),
gst_value_get_mini_object
(
param_values
+
5
),
data2
);
}
static
void
rtp_session_class_init
(
RTPSessionClass
*
klass
)
{
...
...
@@ -278,8 +347,8 @@ rtp_session_class_init (RTPSessionClass * klass)
rtp_session_signals
[
SIGNAL_ON_SENDING_RTCP
]
=
g_signal_new
(
"on-sending-rtcp"
,
G_TYPE_FROM_CLASS
(
klass
),
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
RTPSessionClass
,
on_sending_rtcp
),
accumulate_trues
,
NULL
,
gst_rtp_bin_marshal_BOOLEAN__
POINTER
_BOOLEAN
,
G_TYPE_BOOLEAN
,
2
,
G_TYPE_
POINT
ER
,
G_TYPE_BOOLEAN
);
accumulate_trues
,
NULL
,
gst_rtp_bin_marshal_BOOLEAN__
MINIOBJECT
_BOOLEAN
,
G_TYPE_BOOLEAN
,
2
,
G
ST
_TYPE_
BUFF
ER
,
G_TYPE_BOOLEAN
);
/**
* RTPSession::on-feedback-rtcp:
...
...
@@ -298,9 +367,9 @@ rtp_session_class_init (RTPSessionClass * klass)
rtp_session_signals
[
SIGNAL_ON_FEEDBACK_RTCP
]
=
g_signal_new
(
"on-feedback-rtcp"
,
G_TYPE_FROM_CLASS
(
klass
),
G_SIGNAL_RUN_LAST
,
G_STRUCT_OFFSET
(
RTPSessionClass
,
on_feedback_rtcp
),
NULL
,
NULL
,
gst_rtp_bin_marshal_VOID__UINT_UINT_UINT_UINT_
POINTER
,
NULL
,
NULL
,
gst_rtp_bin_marshal_VOID__UINT_UINT_UINT_UINT_
MINIOBJECT
,
G_TYPE_NONE
,
4
,
G_TYPE_UINT
,
G_TYPE_UINT
,
G_TYPE_UINT
,
G_TYPE_UINT
,
G_TYPE_
POINT
ER
);
G
ST
_TYPE_
BUFF
ER
);
/**
* RTPSession::send-rtcp:
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment