[Ayuda] Xine o mplayer?

Sandino Araico Sanchez sandino en sandino.net
Jue Ene 29 17:35:02 CST 2004


Raymond Hall Haro wrote:

> Sandino Araico Sanchez wrote:
>
>> Los dos tienen diseño de plugins. 
>
>
> Si me explicas como esta la onda de los plugins en mplayer te lo 
> agradeceria mucho.

No tengo tantos detalles, pero en 
http://www.mplayerhq.hu/DOCS/HTML/es/formats.html dice:


        2.1.2.7. XMMS

MPlayer puede usar los aditivos de entrada de XMMS para reproducir 
varios formatos de archivo. Hay aditivos para música de juegos SNES, 
música SID (de Commodore 64), algunos formatos de Amiga, .xm, .it, VQF, 
musepack, Bonk, shorten y muchos otros. Puede encontrarlos en La página 
de aditivos de entrada de XMMS <http://www.xmms.org/plugins_input.html>.

Para usar ésta característica necesita tenerXMMS y compilar MPlayer con 
./configure --enable-xmms. Si ésto no funciona, puede que sea necesario 
establecer la ruta de los aditivos de XMMS de manera explícita con las 
opciones --with-xmmsplugindir y --with-xmmslibdir.

No me he metido a las tripas para ver si los carga con dlopen() o si los 
liga en el momento de la compilación, pero con tantos codecs y drivers 
que maneja yo lo pensaría varias veces antes de tomar la segunda opción....

> Yo tengo entendido por plugin una cosa que usualmente se liga via 
> dlopen y usualmente via configuracion le dices a la aplicacion que 
> mimetype/magic-number/formato/warever abra con que plugin y el resto 
> es automagico y en el mplayer el codecs.conf no es tan intuitivo y 
> ademas tienes que advertirle compile-time que vas a usar las 
> susodichas librerias.

Le adviertes en compile-time dónde van las librerías, pero una búsqueda 
rápida nos arroja lo siguiente:

[root en ingrata MPlayer-1.0pre3] grep -r dlopen .
./configure:int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); 
return 0; }
./TOOLS/realcodecs/14_4.c:              handle = dlopen 
("/home/r/RealPlayer8/Codecs/real14_4.so.6.0", RTLD_LAZY);
./TOOLS/realcodecs/28_8.c:              handle = dlopen 
("/home/r/RealPlayer8/Codecs/real28_8.so.6.0", RTLD_LAZY);
./TOOLS/realcodecs/cook.c:              handle = dlopen 
("/usr/local/RealPlayer8/Codecs/realcook.so.6.0", RTLD_LAZY);
./TOOLS/realcodecs/drv2.c:              handle = dlopen 
("/usr/local/RealPlayer8/Codecs/realdrv2.so.6.0", RTLD_LAZY);
./TOOLS/realcodecs/drv3.c:              handle = dlopen 
("/usr/local/RealPlayer8/Codecs/realdrv3.so.6.0", RTLD_LAZY);
./TOOLS/realcodecs/drv4.c:              handle = dlopen 
("/usr/local/RealPlayer8/Codecs/realdrv4.so.6.0", RTLD_LAZY);
./TOOLS/realcodecs/ra.c:                handle = dlopen 
("/usr/local/RealPlayer8/Codecs/realcook.so.6.0", RTLD_LAZY);
./TOOLS/realcodecs/rv30.c:              handle = dlopen 
("/usr/local/RealPlayer8/Codecs/realrv30.so.6.0", RTLD_LAZY);
./TOOLS/realcodecs/sipr.c:              handle = dlopen 
("/usr/local/RealPlayer8/Codecs/realsipr.so.6.0", RTLD_LAZY);
./libmpcodecs/ad_realaud.c:static int dll_type = 0; /* 0 = unix dlopen, 
1 = win32 dll */
./libmpcodecs/ad_realaud.c:    handle = dlopen(path, RTLD_LAZY);
./libmpcodecs/dec_audio.c:          sh_audio->dec_handle = dlopen(buf, 
RTLD_LAZY);
./libmpcodecs/dec_video.c:          sh_video->dec_handle = dlopen(buf, 
RTLD_LAZY);
./libmpcodecs/vd_realvid.c:static int dll_type = 0; /* 0 = unix dlopen, 
1 = win32 dll */
./libmpcodecs/vd_realvid.c:             handle = dlopen (path, RTLD_LAZY);
./libmpcodecs/vd_xanim.c:#include <dlfcn.h> /* dlsym, dlopen, dlclose */
./libmpcodecs/vd_xanim.c://    priv->file_handler = dlopen(filename, 
RTLD_NOW|RTLD_GLOBAL);
./libmpcodecs/vd_xanim.c:    priv->file_handler = dlopen(filename, 
RTLD_LAZY);
./libmpcodecs/vd_xanim.c:           mp_msg(MSGT_DECVIDEO, MSGL_FATAL, 
"xacodec: failed to dlopen %s while %s\n", filename, error);
./libmpcodecs/vd_xanim.c:           mp_msg(MSGT_DECVIDEO, MSGL_FATAL, 
"xacodec: failed to dlopen %s\n", filename);
./libmpdemux/demux_xmms.c:      handle=dlopen(filename, RTLD_NOW);
./libmpdvdkit2/README:- dvdread 0.9.3 + static libdvdcss (removed dlopen 
code)
./libmpdvdkit2/ioctl.c: smedia_lib = dlopen("libsmedia.so", RTLD_NOW);
./loader/elfdll.c: *    ELFDLL_dlopen
./loader/elfdll.c: * Wrapper for dlopen to search the 
EXTRA_LD_LIBRARY_PATH from wine.conf
./loader/elfdll.c:void *ELFDLL_dlopen(const char *libname, int flags)
./loader/elfdll.c:      /* First try the default path search of dlopen() */
./loader/elfdll.c:      handle = dlopen(libname, flags);
./loader/elfdll.c:              TRACE("Trying dlopen('%s', %d)\n", 
buffer, flags);
./loader/elfdll.c:              handle = dlopen(buffer, flags);
./loader/elfdll.c:      dlhandle = ELFDLL_dlopen(soname, RTLD_LAZY);
./loader/module.c:        /* no need to do that, dlopen() already does */
./loader/wine/elfdll.h:void *ELFDLL_dlopen(const char *libname, int flags);
./vidix/vidixlib.c:#define dlopen(h,s) LoadLibrary(h)
./vidix/vidixlib.c:  if(!(t_vdl(stream)->handle = 
dlopen(drv_name,RTLD_LAZY|RTLD_GLOBAL)))
./vidix/vidixlib.c:    if(!(t_vdl(stream)->handle = 
dlopen(drv_name,RTLD_NOW|RTLD_GLOBAL)))
./vidix/vidixlib.c:     printf("vidixlib: dlopen error: %s\n", dlerror());
./libavcodec/a52dec.c:    s->handle = dlopen(liba52name, RTLD_LAZY);
./libavcodec/faad.c:#define dlopen(a)
./libavcodec/faad.c:    void* handle;           /* dlopen handle */
./libavcodec/faad.c:    s->handle = dlopen(libfaadname, RTLD_LAZY);
./configure.orig:int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); 
return 0; }
./configure.log:int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); 
return 0; }
./configure.log:: undefined reference to `dlopen'
./configure.log:int main(void) { dlopen(0, 0); dlclose(0); dlsym(0, 0); 
return 0; }

> Si me equivoco te agradeceria enormemente me corrijas y asi podre usar 
> mplayer correctamente :)

Ese es el problema, cómo usarlo correctamente. Pero nadie debería 
preocuparse por eso, simplemente algo tan sencillo como mplayer 
mi-pelicula.mov y que funcione y ya.

>
> Que irresistible la tentacion de caer en las flamas no? como 
> palomillas en campamanto... :)
>
> salu2,
> Ray


-- 
Sandino Araico Sánchez
-- Y finalmente: no te tomes la vida en serio, 
al fin y al cabo no saldrás vivo de ella.

 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/mailman/listinfo/ayuda/




Más información sobre la lista de distribución Ayuda