[ 
http://dev.sourcefabric.org/browse/LS-478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16086#action_16086
 ] 

Romain Beauxis commented on LS-478:
-----------------------------------

I agree that the fix is not optimal. However, we have some issues with SDL that 
are delicate.
When dumping the whole list of plugins, we want to include SDL plugins. 
Furthermore, the dump is done at compile-time, which means for instance in 
Debian, inside the build daemons.
However, build daemons do not have a proper graphic configuration, for instance 
a framebuffer interface. Thus, if SDL init is to be triggered in any case when 
compiled, this will fail.

The coming plugin structure does not fix this problem has we also want to load 
the plugin when dumping the list of operators upon building the debian package..

Thus, from this point of view, we have no choice but to intialize SDL on-demand 
when using SDL-dependant operators..

For documentation purposes, here is a log of the failure described above:
  
https://buildd.debian.org/status/fetch.php?pkg=liquidsoap&arch=armel&ver=1.0.0~beta1-2&stamp=1305915064
"CAML_LD_LIBRARY_PATH=../src ../src/liquidsoap \
          --no-pervasives ../scripts/utils.liq --list-plugins-xml | \
          ./reference_to_liqi.pl > content/reference.txt
commandline read: liquidsoap
commandline read: --no-pervasives
commandline read: ../scripts/utils.liq
commandline read: --list-plugins-xml

   ~~~~~~~~~~~~~~~~~~~~~~~~~~| DirectFB 1.2.10 |~~~~~~~~~~~~~~~~~~~~~~~~~~
        (c) 2001-2008  The world wide DirectFB Open Source Community
        (c) 2000-2004  Convergence (integrated media) GmbH
      ----------------------------------------------------------------

(*) DirectFB/Core: Single Application Core. (2010-06-30 19:53) 
(!) Direct/Util: opening '/dev/fb0' and '/dev/fb/0' failed
    --> No such file or directory
(!) DirectFB/FBDev: Error opening framebuffer device!
(!) DirectFB/FBDev: Use 'fbdev' option or set FRAMEBUFFER environment variable.
(!) DirectFB/Core: Could not initialize 'system_core' core!
    --> Initialization error!
Fatal error: exception Sdl.SDL_init_exception("DirectFBCreate: Initialization 
error!")"

> Cannot use video.add_text since SDL init changes
> ------------------------------------------------
>
>                 Key: LS-478
>                 URL: http://dev.sourcefabric.org/browse/LS-478
>             Project: Liquidsoap
>          Issue Type: Bug
>          Components: Liquidsoap
>         Environment: current dev version
>            Reporter: David Baelde
>            Assignee: Romain Beauxis
>            Priority: Blocker
>             Fix For: 1.0
>
>
> $ ./src/liquidsoap 'output.dummy(video.add_text("foo",blank()))'
> Invalid value at line 1, char 28-42: Library not initialized.
> The problem is that SDL is only initialized when streaming starts, just 
> before sources are woken up, but the text operator initializes its font upon 
> creation and not upon #wake_up. This in itself is (slightly) incorrect since 
> resources should only be allocated within #wake_up and #sleep, but it is 
> useful to check that the font exists.
> The simplest solution is that all SDL operators call Sdl_utils.init which 
> inits with all options if not already done. The current architecture tries to 
> do better by not initializing components that don't need to. This is nice but 
> I don't see why it's necessary.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://dev.sourcefabric.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Savonet-devl mailing list
Savonet-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-devl

Répondre à