diff options
author | Lionel Landwerlin <llandwerlin@gmail.com> | 2013-07-05 17:27:34 +0100 |
---|---|---|
committer | Lionel Landwerlin <llandwerlin@gmail.com> | 2013-07-09 13:30:58 +0100 |
commit | 9a8c6536088368060a85f74d082c3dd8487b877c (patch) | |
tree | 9f25ad277236467e1a26755ec012ee51c07a502c | |
parent | c4ed67f475e4b50e2259da081c6f48bb50ec9170 (diff) | |
download | cogl-9a8c6536088368060a85f74d082c3dd8487b877c.tar.gz |
cogl-gst: protect public API using type checks
-rw-r--r-- | cogl-gst/cogl-gst-video-sink.c | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/cogl-gst/cogl-gst-video-sink.c b/cogl-gst/cogl-gst-video-sink.c index 1eaa82ca..3eb380fe 100644 --- a/cogl-gst/cogl-gst-video-sink.c +++ b/cogl-gst/cogl-gst-video-sink.c @@ -246,6 +246,8 @@ void cogl_gst_video_sink_set_first_layer (CoglGstVideoSink *sink, int first_layer) { + g_return_if_fail (COGL_GST_IS_VIDEO_SINK (sink)); + if (first_layer != sink->priv->custom_start) { sink->priv->custom_start = first_layer; @@ -261,6 +263,8 @@ void cogl_gst_video_sink_set_default_sample (CoglGstVideoSink *sink, CoglBool default_sample) { + g_return_if_fail (COGL_GST_IS_VIDEO_SINK (sink)); + if (default_sample != sink->priv->default_sample) { sink->priv->default_sample = default_sample; @@ -272,7 +276,10 @@ void cogl_gst_video_sink_setup_pipeline (CoglGstVideoSink *sink, CoglPipeline *pipeline) { - sink->priv->renderer->setup_pipeline (sink, pipeline); + g_return_if_fail (COGL_GST_IS_VIDEO_SINK (sink)); + + if (sink->priv->renderer) + sink->priv->renderer->setup_pipeline (sink, pipeline); } static SnippetCacheEntry * @@ -368,7 +375,11 @@ setup_pipeline_from_cache_entry (CoglGstVideoSink *sink, CoglPipeline * cogl_gst_video_sink_get_pipeline (CoglGstVideoSink *vt) { - CoglGstVideoSinkPrivate *priv = vt->priv; + CoglGstVideoSinkPrivate *priv; + + g_return_val_if_fail (COGL_GST_IS_VIDEO_SINK (vt), NULL); + + priv = vt->priv; if (priv->pipeline == NULL) { @@ -1275,7 +1286,11 @@ cogl_gst_video_sink_new (CoglContext *ctx) float cogl_gst_video_sink_get_aspect (CoglGstVideoSink *vt) { - GstVideoInfo *info = &vt->priv->info; + GstVideoInfo *info; + + g_return_val_if_fail (COGL_GST_IS_VIDEO_SINK (vt), 0.); + + info = &vt->priv->info; return ((float)info->width * (float)info->par_n) / ((float)info->height * (float)info->par_d); } @@ -1284,7 +1299,11 @@ float cogl_gst_video_sink_get_width_for_height (CoglGstVideoSink *vt, float height) { - float aspect = cogl_gst_video_sink_get_aspect (vt); + float aspect; + + g_return_val_if_fail (COGL_GST_IS_VIDEO_SINK (vt), 0.); + + aspect = cogl_gst_video_sink_get_aspect (vt); return height * aspect; } @@ -1292,7 +1311,11 @@ float cogl_gst_video_sink_get_height_for_width (CoglGstVideoSink *vt, float width) { - float aspect = cogl_gst_video_sink_get_aspect (vt); + float aspect; + + g_return_val_if_fail (COGL_GST_IS_VIDEO_SINK (vt), 0.); + + aspect = cogl_gst_video_sink_get_aspect (vt); return width / aspect; } @@ -1301,6 +1324,10 @@ cogl_gst_video_sink_fit_size (CoglGstVideoSink *vt, const CoglGstRectangle *available, CoglGstRectangle *output) { + g_return_if_fail (COGL_GST_IS_VIDEO_SINK (vt)); + g_return_if_fail (available != NULL); + g_return_if_fail (output != NULL); + if (available->height == 0.0f) { output->x = available->x; |