$(GST_CFLAGS) $(DVDNAV_CFLAGS)
libgstresindvd_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
-lgstvideo-$(GST_API_VERSION) -lgstpbutils-$(GST_API_VERSION) \
+-lgsttag-$(GST_API_VERSION) \
$(GST_BASE_LIBS) $(GST_LIBS) $(GMODULE_NO_EXPORT_LIBS) $(DVDNAV_LIBS)
libgstresindvd_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstresindvd_la_LIBTOOLFLAGS = --tag=disable-static
#include <gst/gst-i18n-plugin.h>
#include <gst/video/video.h>
#include <gst/video/navigation.h>
+#include <gst/tag/tag.h>
#include "resindvdsrc.h"
{
resinDvdSrc *src = RESINDVDSRC (bsrc);
const gchar *const *langs, *const *cur;
+ const char *disc_name;
gchar lang[8];
g_mutex_lock (src->dvd_lock);
}
}
- dvdnav_get_title_string (src->dvdnav, &src->disc_name);
+ /* Get disc name and convert to UTF-8 */
+ g_free (src->disc_name);
+ dvdnav_get_title_string (src->dvdnav, &disc_name);
+ if (disc_name != NULL && *disc_name != '\0')
+ src->disc_name = gst_tag_freeform_string_to_utf8 (disc_name, -1, NULL);
+ else
+ src->disc_name = NULL;
src->first_seek = TRUE;
src->running = TRUE;
src->highlight_event = NULL;
}
+ g_free (src->disc_name);
src->disc_name = NULL;
if (src->dvdnav) {