TrackVideoTestSource: Move private data to instance private

Add a getter for the pattern

Document methods
This commit is contained in:
Edward Hervey 2011-01-06 11:29:44 +01:00
parent 58afc44fd7
commit 2d9f03fde0
4 changed files with 28 additions and 8 deletions

View file

@ -524,6 +524,7 @@ GES_TYPE_TIMELINE_TEXT_OVERLAY
GESTrackVideoTestSource GESTrackVideoTestSource
ges_track_video_test_source_new ges_track_video_test_source_new
ges_track_video_test_source_set_pattern ges_track_video_test_source_set_pattern
ges_track_video_test_source_get_pattern
<SUBSECTION Standard> <SUBSECTION Standard>
GESTrackVideoTestSourceClass GESTrackVideoTestSourceClass
GESTrackVideoTestSourcePrivate GESTrackVideoTestSourcePrivate

View file

@ -32,8 +32,7 @@ G_DEFINE_TYPE (GESTrackVideoTestSource, ges_track_video_test_source,
struct _GESTrackVideoTestSourcePrivate struct _GESTrackVideoTestSourcePrivate
{ {
/* Dummy variable */ GESVideoTestPattern pattern;
void *nothing;
}; };
static GstElement *ges_track_video_test_source_create_element (GESTrackObject * static GstElement *ges_track_video_test_source_create_element (GESTrackObject *
@ -56,7 +55,7 @@ ges_track_video_test_source_init (GESTrackVideoTestSource * self)
self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self,
GES_TYPE_TRACK_VIDEO_TEST_SOURCE, GESTrackVideoTestSourcePrivate); GES_TYPE_TRACK_VIDEO_TEST_SOURCE, GESTrackVideoTestSourcePrivate);
self->pattern = GES_VIDEO_TEST_PATTERN_BLACK; self->priv->pattern = GES_VIDEO_TEST_PATTERN_BLACK;
} }
static GstElement * static GstElement *
@ -65,7 +64,7 @@ ges_track_video_test_source_create_element (GESTrackObject * self)
GstElement *ret; GstElement *ret;
gint pattern; gint pattern;
pattern = ((GESTrackVideoTestSource *) self)->pattern; pattern = ((GESTrackVideoTestSource *) self)->priv->pattern;
ret = gst_element_factory_make ("videotestsrc", NULL); ret = gst_element_factory_make ("videotestsrc", NULL);
g_object_set (ret, "pattern", (gint) pattern, NULL); g_object_set (ret, "pattern", (gint) pattern, NULL);
@ -73,18 +72,37 @@ ges_track_video_test_source_create_element (GESTrackObject * self)
return ret; return ret;
} }
/**
* ges_track_video_test_source_set_pattern:
* @self: a #GESTrackVideoTestSource
* @pattern: a #GESVideoTestPattern
*
* Sets the source to use the given @pattern.
*/
void void
ges_track_video_test_source_set_pattern (GESTrackVideoTestSource ges_track_video_test_source_set_pattern (GESTrackVideoTestSource
* self, GESVideoTestPattern pattern) * self, GESVideoTestPattern pattern)
{ {
GstElement *element = ges_track_object_get_element (GES_TRACK_OBJECT (self)); GstElement *element = ges_track_object_get_element (GES_TRACK_OBJECT (self));
self->pattern = pattern; self->priv->pattern = pattern;
if (element) if (element)
g_object_set (element, "pattern", (gint) pattern, NULL); g_object_set (element, "pattern", (gint) pattern, NULL);
} }
/**
* ges_track_video_test_source_get_pattern:
* @source: a #GESVideoTestPattern
*
* Returns: the video pattern used by the @source.
*/
GESVideoTestPattern
ges_track_video_test_source_get_pattern (GESTrackVideoTestSource * source)
{
return source->priv->pattern;
}
GESTrackVideoTestSource * GESTrackVideoTestSource *
ges_track_video_test_source_new (void) ges_track_video_test_source_new (void)
{ {

View file

@ -54,8 +54,6 @@ struct _GESTrackVideoTestSource {
/*< private >*/ /*< private >*/
GESTrackSource parent; GESTrackSource parent;
GESVideoTestPattern pattern;
GESTrackVideoTestSourcePrivate *priv; GESTrackVideoTestSourcePrivate *priv;
/* Padding for API extension */ /* Padding for API extension */
@ -76,6 +74,8 @@ GESTrackVideoTestSource* ges_track_video_test_source_new (void);
void void
ges_track_video_test_source_set_pattern(GESTrackVideoTestSource *self, ges_track_video_test_source_set_pattern(GESTrackVideoTestSource *self,
GESVideoTestPattern pattern); GESVideoTestPattern pattern);
GESVideoTestPattern
ges_track_video_test_source_get_pattern (GESTrackVideoTestSource *source);
G_END_DECLS G_END_DECLS

View file

@ -151,7 +151,8 @@ GST_START_TEST (test_test_source_in_layer)
ges_timeline_object_find_track_object (GES_TIMELINE_OBJECT (source), v, ges_timeline_object_find_track_object (GES_TIMELINE_OBJECT (source), v,
GES_TYPE_TRACK_VIDEO_TEST_SOURCE); GES_TYPE_TRACK_VIDEO_TEST_SOURCE);
ptrn = ((GESTrackVideoTestSource *) trobj)->pattern; ptrn = (ges_track_video_test_source_get_pattern ((GESTrackVideoTestSource *)
trobj));
assert_equals_int (ptrn, GES_VIDEO_TEST_PATTERN_WHITE); assert_equals_int (ptrn, GES_VIDEO_TEST_PATTERN_WHITE);
g_object_unref (trobj); g_object_unref (trobj);