static void gst_audio_parse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstAudioParse *ap = GST_AUDIO_PARSE (object); g_return_if_fail (!gst_raw_parse_is_negotiated (GST_RAW_PARSE (ap))); switch (prop_id) { case PROP_FORMAT: ap->format = g_value_get_enum (value); break; case PROP_RAW_FORMAT: ap->raw_format = g_value_get_enum (value); break; case PROP_RATE: gst_raw_parse_set_fps (GST_RAW_PARSE (ap), g_value_get_int (value), 1); break; case PROP_CHANNELS: ap->channels = g_value_get_int (value); break; case PROP_INTERLEAVED: ap->interleaved = g_value_get_boolean (value); break; case PROP_CHANNEL_POSITIONS: if (ap->channel_positions) g_value_array_free (ap->channel_positions); ap->channel_positions = g_value_dup_boxed (value); break; case PROP_USE_SINK_CAPS: ap->use_sink_caps = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } gst_audio_parse_update_frame_size (ap); }
static void gst_video_parse_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec) { GstVideoParse *vp = GST_VIDEO_PARSE (object); g_return_if_fail (!gst_raw_parse_is_negotiated (GST_RAW_PARSE (vp))); switch (prop_id) { case PROP_FORMAT: vp->format = g_value_get_enum (value); break; case PROP_WIDTH: vp->width = g_value_get_int (value); break; case PROP_HEIGHT: vp->height = g_value_get_int (value); break; case PROP_FRAMERATE: gst_raw_parse_set_fps (GST_RAW_PARSE (vp), gst_value_get_fraction_numerator (value), gst_value_get_fraction_denominator (value)); break; case PROP_PAR: vp->par_n = gst_value_get_fraction_numerator (value); vp->par_d = gst_value_get_fraction_denominator (value); break; case PROP_INTERLACED: vp->interlaced = g_value_get_boolean (value); break; case PROP_TOP_FIELD_FIRST: vp->top_field_first = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } gst_video_parse_update_frame_size (vp); }