emotion: temporary fix gstreamer uri to match other engine behaviour.

SVN revision: 60398
This commit is contained in:
Cedric BAIL 2011-06-16 15:29:29 +00:00
parent 5724f5b257
commit 1dd3a72b94
1 changed files with 25 additions and 14 deletions

View File

@ -1,3 +1,9 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#define _GNU_SOURCE
#include <unistd.h> #include <unistd.h>
#include <fcntl.h> #include <fcntl.h>
@ -109,22 +115,27 @@ _emotion_pipeline_build(Emotion_Gstreamer_Video *ev, const char *file)
} }
g_object_set(G_OBJECT(ev->pipeline), "audio-sink", sink, NULL); g_object_set(G_OBJECT(ev->pipeline), "audio-sink", sink, NULL);
if ((*file == '/') || (*file == '~')) if (strstr(file, "://") == NULL)
{ {
char *uri; Eina_Strbuf *sbuf;
uri = g_filename_to_uri(file, NULL, NULL); sbuf = eina_strbuf_new();
if (uri) eina_strbuf_append(sbuf, "file://");
{ if (*file != '.' && *file != '/')
DBG("Setting file %s\n", uri); {
g_object_set(G_OBJECT(ev->pipeline), "uri", uri, NULL); char *tmp;
free(uri);
} tmp = get_current_dir_name();
else eina_strbuf_append(sbuf, tmp);
{ eina_strbuf_append(sbuf, "/");
ERR("could not create new uri from %s", file); free(tmp);
goto unref_pipeline; }
} eina_strbuf_append(sbuf, file);
DBG("Setting file %s\n", eina_strbuf_string_get(sbuf));
g_object_set(G_OBJECT(ev->pipeline), "uri", eina_strbuf_string_get(sbuf), NULL);
eina_strbuf_free(sbuf);
} }
else else
{ {