On Thu, 24 Mar 2011, Vincent Torri wrote:

>
>
> On Wed, 23 Mar 2011, Vincent Torri wrote:
>
>> 
>> 
>> On Wed, 23 Mar 2011, Enlightenment SVN wrote:
>> 
>>> Log:
>>> fix vlc module loading, disable slow vmem options, begin work on fast 
>>> render output
>> 
>> are you sure that the evas info is set before the module is loaded ?
>
> I mean, if the program is well written, yes. But you don't check id einfo is 
> NULL or not

and use xid only in the X11 #ifdef

Vincent

>
> Vincent
>
>> 
>> Vincent
>> 
>>> 
>>> 
>>> Author:       discomfitor
>>> Date:         2011-03-23 15:54:45 -0700 (Wed, 23 Mar 2011)
>>> New Revision: 58049
>>> Trac:         http://trac.enlightenment.org/e/changeset/58049
>>> 
>>> Modified:
>>>  trunk/emotion/src/modules/vlc/emotion_vlc.c
>>> 
>>> Modified: trunk/emotion/src/modules/vlc/emotion_vlc.c
>>> ===================================================================
>>> --- trunk/emotion/src/modules/vlc/emotion_vlc.c     2011-03-23 22:48:26 
>>> UTC (rev 58048)
>>> +++ trunk/emotion/src/modules/vlc/emotion_vlc.c     2011-03-23 22:54:45 
>>> UTC (rev 58049)
>>> @@ -3,8 +3,18 @@
>>>  * [email protected]
>>>  */
>>> 
>>> +#ifdef HAVE_CONFIG_H
>>> +# include "config.h"
>>> +#endif
>>> #include <sys/types.h>
>>> #include <unistd.h>
>>> +#include <Evas.h>
>>> +#ifdef HAVE_EVAS_SOFWARE_X11
>>> +# include <Evas_Engine_Software_X11.h>
>>> +#endif
>>> +#ifdef HAVE_EVAS_OPENGL_X11
>>> +# include <Evas_Engine_GL_X11.h>
>>> +#endif
>>> 
>>> #include "Emotion.h"
>>> #include "emotion_private.h"
>>> @@ -116,15 +126,7 @@
>>>     {
>>>             "-q",
>>>             //"-vvvvv",
>>> -           "--ignore-config",
>>> -           "--vout", "vmem",
>>> -           "--vmem-width", ev->width,
>>> -           "--vmem-height", ev->height,
>>> -           "--vmem-pitch", ev->pitch,
>>> -           "--vmem-chroma", "RV32",
>>> -           "--vmem-lock", ev->clock,
>>> -           "--vmem-unlock", ev->cunlock,
>>> -           "--vmem-data", ev->cdata,
>>> +           "--ignore-config"
>>>     };
>>>     vlc_argc = sizeof(vlc_argv) / sizeof(*vlc_argv);
>>>     sprintf(ev->clock, "%lld", (long long int)(intptr_t)_em_lock);
>>> @@ -187,8 +189,13 @@
>>> static unsigned char em_file_open(const char *file, Evas_Object *obj, void 
>>> *ef)
>>> {
>>>     Emotion_Vlc_Video *ev;
>>> -   int i;
>>> -
>>> +   int i, method;
>>> + Evas *e;
>>> + Eina_List *methods, *l;
>>> + char *name;
>>> +#ifndef _WIN32
>>> + uint32_t xid;
>>> +#endif
>>>     ev = (Emotion_Vlc_Video *)ef;
>>>     ASSERT_EV(ev) return 0;
>>>     ASSERT_EV_VLC(ev) return 0;
>>> @@ -200,6 +207,39 @@
>>>     ev->vlc_m = NULL;
>>>     ASSERT_EV_MP(ev) return 0;
>>> 
>>> +   e = evas_object_evas_get(obj);
>>> +   method = evas_output_method_get(e);
>>> +   methods = evas_render_method_list();
>>> +   EINA_LIST_FOREACH(methods, l, name)
>>> +     if (evas_render_method_lookup(name) == method) break;
>>> +
>>> +#ifdef _WIN32 /* NOT IMPLEMENTED YET */
>>> +  libvlc_media_player_set_hwnd(ev->vlc_mp, (void*)xid);
>>> +#else
>>> +#ifdef HAVE_EVAS_SOFWARE_X11
>>> +   if (!strcmp(name, "software_x11"))
>>> +     {
>>> +        Evas_Engine_Info_Software_X11 *einfo;
>>> +        einfo = (Evas_Engine_Info_Software_X11*)evas_engine_info_get(e);
>>> +        xid = einfo->info.drawable;
>>> +     }
>>> +#endif
>>> +#ifdef HAVE_EVAS_OPENGL_X11
>>> +   if (!strcmp(name, "gl_x11"))
>>> +     {
>>> +        Evas_Engine_Info_GL_X11 *einfo;
>>> +        einfo = (Evas_Engine_Info_GL_X11*)evas_engine_info_get(e);
>>> +        xid = einfo->info.drawable;
>>> +     }
>>> +#endif
>>> +   if (strcmp(name, "software_x11") && strcmp(name, "gl_x11")) /* FIXME 
>>> */
>>> +     {
>>> +        fprintf(stderr, "FATAL: engine unsupported!\n");
>>> +        exit(1);
>>> +     }
>>> +  libvlc_media_player_set_xwindow(ev->vlc_mp, xid);
>>> +#endif
>>> +
>>>     ev->vlc_evtmngr = libvlc_media_player_event_manager (ev->vlc_mp);
>>>
>>>     for(i = EVENT_BEG_ID; i<EVENT_BEG_ID+NB_EVENTS; i++)    {
>>> @@ -214,7 +254,7 @@
>>>
>>>     /* set properties to video object */
>>>     ev->just_loaded = 1;
>>> -
>>> +   evas_render_method_list_free(methods);
>>>     return 1;
>>> }
>>> 
>>> @@ -414,7 +454,7 @@
>>>     ASSERT_EV(ev) return 0;
>>>     ASSERT_EV_MP(ev) return 0;
>>>     if (ev->opening || (!ev->play_ok)) return 0;
>>> -   ret = vlc_media_player_is_seekable(ev->vlc_mp);
>>> +   ret = libvlc_media_player_is_seekable(ev->vlc_mp);
>>>     return ret;
>>> }
>>> 
>>> 
>>>
>>> 
>>> ------------------------------------------------------------------------------
>>> Enable your software for Intel(R) Active Management Technology to meet the
>>> growing manageability and security demands of your customers. Businesses
>>> are taking advantage of Intel(R) vPro (TM) technology - will your software
>>> be a part of the solution? Download the Intel(R) Manageability Checker
>>> today! http://p.sf.net/sfu/intel-dev2devmar
>>> _______________________________________________
>>> enlightenment-svn mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>>> 
>>> 
>>
>> 
>> ------------------------------------------------------------------------------
>> Enable your software for Intel(R) Active Management Technology to meet the
>> growing manageability and security demands of your customers. Businesses
>> are taking advantage of Intel(R) vPro (TM) technology - will your software
>> be a part of the solution? Download the Intel(R) Manageability Checker
>> today! http://p.sf.net/sfu/intel-dev2devmar
>> _______________________________________________
>> enlightenment-devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>> 
>> 
>

------------------------------------------------------------------------------
Enable your software for Intel(R) Active Management Technology to meet the
growing manageability and security demands of your customers. Businesses
are taking advantage of Intel(R) vPro (TM) technology - will your software 
be a part of the solution? Download the Intel(R) Manageability Checker 
today! http://p.sf.net/sfu/intel-dev2devmar
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to