+ gchar *description = gst_missing_plugin_message_get_description(msg);
+ if ( description )
+ {
+ m_error_message = "GStreamer plugin " + (std::string)description + " not available!\n";
+ g_free(description);
+ m_event((iPlayableService*)this, evUser+12);
+ }
+ }
+ else if (const GstStructure *msgstruct = gst_message_get_structure(msg))
+ {
+ const gchar *eventname;
+ if ( eventname = gst_structure_get_name(msgstruct) )
+ {
+ if (!strcmp(eventname, "eventSizeChanged"))
+ {
+ gint aspect_ratio, width, height = 0;
+ gst_structure_get_int (msgstruct, "aspect_ratio", &aspect_ratio);
+ gst_structure_get_int (msgstruct, "width", &width);
+ gst_structure_get_int (msgstruct, "height", &height);
+ eDebug("****** decoder threw eventSizeChanged! aspect_ratio=%i, width=%i, height=%i", aspect_ratio, width, height);
+ }
+ if (!strcmp(eventname, "eventFrameRateChanged"))
+ {
+ gint frame_rate = 0;
+ gst_structure_get_int (msgstruct, "frame_rate", &frame_rate);
+ eDebug("****** decoder threw eventFrameRateChanged! frame_rate=%i", frame_rate);
+ }
+ if (!strcmp(eventname, "eventProgressiveChanged"))
+ {
+ gint progressive = 0;
+ gst_structure_get_int (msgstruct, "progressive", &progressive);
+ eDebug("****** decoder threw eventProgressiveChanged! progressive=%i", progressive);
+ }
+ }