Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 93994 - gxine: 'questionable' code in brower-plugin/plugin.c
Summary: gxine: 'questionable' code in brower-plugin/plugin.c
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: x86 Linux
: High trivial (vote)
Assignee: Gentoo Media-video project
URL: http://news.yahoo.com/video
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-25 14:02 UTC by Robt W Fletcher Jr
Modified: 2005-07-12 11:22 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robt W Fletcher Jr 2005-05-25 14:02:27 UTC
Using gxine-0.4.5 (same result w/ gxine-0.4.3) 

./configure CFLAGS="-DDEBUG -DLOG" --/prefix=/usr
cd browser-plugin
make

The following is the gxineplugin.so debug ouput (/tmp/t.log) when I go to
news.yahoo.com/video and clicked on one of the video links.

NPP_Initialize:
NPP_New:
plugin: argument 'ID'='MediaPlayer'
plugin: argument 'NAME'='MediaPlayer'
plugin: argument 'TYPE'='application/x-mplayer2'
plugin: argument 'SRC'='http://mediaframe.yahoo.com/buildlist.asp?p=news&a=0,
30&f=95448456&t=Bush+Plans+to+Give+More+to+Palestinians&sid=15523047&m=wmv&r=300
&l=SAV&ext=1'
got src url http://mediaframe.yahoo.com/buildlist.asp?p=news&a=0,
30&f=95448456&t=Bush+Plans+to+Give+More+to+Palestinians&sid=15523047&m=wmv&r=300
&l=SAV&ext=1
plugin: argument 'WIDTH'='320'
plugin: argument 'HEIGHT'='306'
plugin: argument 'AutoStart'='1'
plugin: argument 'AutoSize'='0'
plugin: argument 'ShowControls'='1'
plugin: argument 'ShowTracker'='1'
plugin: argument 'ShowDisplay'='0'
plugin: argument 'ShowStatusBar'='1'
plugin: argument 'EnableContextMenu'='0'
plugin: argument 'AnimationAtStart'='0'
plugin: argument 'TransparentAtStart'='1'
plugin: NPP_New done
NPP_SetWindow: 42
x=0, y=0, w=320, h=306
window = 14680083 NPERR_NO_ERROR
NPP_SetWindow: done.
NPP_NewStream:
NPP_NewStream: url is http://mediaframe.yahoo.com/buildlist.asp?p=news&a=0,
30&f=95448456&t=Bush+Plans+to+Give+More+to+Palestinians&sid=15523047&m=wmv&r=300
&l=SAV&ext=1 
NPP_NewStream: copying url because emu_mode=0, globals.url=http://mediaframe.yahoo.
com/buildlist.asp?p=news&a=0,
30&f=95448456&t=Bush+Plans+to+Give+More+to+Palestinians&sid=15523047&m=wmv&r=300
&l=SAV&ext=1
>>>>>>>>Forking<<<<<<<<,
child
child 2
launch_gxine: exe = /usr/bin/gxine, arg =


The code in browser-plugin/plugin.c


NPError NPP_New(NPMIMEType pluginType, NPP instance,
                uint16 mode,
                int16 argc, char* argn[], char* argv[],
                NPSavedData* saved) {

  plugin_instance_t* this;
  xprintf("NPP_New:\n");

[snip]

    /* parse args */

    this->emu_mode = EMU_NONE;

    for (i=0; i<argc; i++) {

      xprintf ("plugin: argument '%s'='%s'\n",
               argn[i], argv[i]);

      if (!strncmp (argn[i], "type", 4)) {
        if (!strncmp (argv[i], "video/x-ms-asf-plugin", 21)) {
          xprintf ("plugin: switching to mms_mode\n");
          this->emu_mode = EMU_MPLAYER;
        } else if (!strncmp (argv[i], "application/x-mplayer2", 22)) {
          xprintf ("plugin: switching to mms_mode\n");
          this->emu_mode = EMU_MPLAYER;
        } else if (!strncmp (argv[i], "video/quicktime", 15)) {
          xprintf ("plugin: switching to quicktime emulation mode\n");
          this->emu_mode = EMU_QT;
        } else if (!strncmp (argv[i], "audio/x-pn-realaudio-plugin", 27)) {
          xprintf ("plugin: switching to real player emulation mode\n");
          this->emu_mode = EMU_REAL;
        }
      } else if (!strcmp (argn[i], "name")) {
        if (!strcmp (argv[i], "nsplay")) {
          xprintf ("plugin: switching to mms_mode\n");
          this->emu_mode = EMU_MPLAYER;
        }
      } else if (!strcasecmp (argn[i], "href")) {

Sooo,   my  question  is,   "Shouldn't  some   of  the   strncmp's  be
strncasecmp??? The TYPE and NAME are in uppercase.  I'm not quite sure
what  the checks are  for --  'type'and 'name',  but the  compare will
always  fail  given the  /tmp/t.log  data.  The  video plays  with  the
existing code.

Realize I used Opera to test this, not mozilla/firefox.

Thank you. (Not a real C person).


Reproducible: Always
Steps to Reproduce:
1.
2.
3.




~% emerge --info
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130, glibc-2.3.4.200 41102-r1, 2.6.
11-gentoo-r9 i686)
=================================================================
System uname: 2.6.11-gentoo-r9 i686 Celeron (Mendocino)
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.2.3-r1,dev-lang/python-2.3.5 [2.3.5 (#1,  May 12 2005, 04:
11:07)]
dev-lang/python:     2.2.3-r1, 2.3.5
sys-apps/sandbox:    [Not Present]
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium2 -O3 -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/ 3.3/env /
usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config  /usr/lib/X11/xkb /usr/
lib/mozilla/defaults/pref /usr/share/config /var/qmail/con trol"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS=""
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://gentoo.ccccom.com ftp://mirrors.tds.net/gentoo http://gent oo.
ccccom.com"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X alsa apm arts avi bash-completion berkdb bitmap-fonts cdr crypt cups  curl eds 
emacs emboss encode fam flac foomaticdb fortran gdbm gif gnome gpm gstr eamer gtk gtk2 
guile imagemagick imlib jack java jpeg junit libg++ libwww mad mi kmod mmx motif mozilla 
mp3 mpeg mysql ncurses network nls nptl ogg oggvorbis ope ngl oss pam pdflib perl png 
postgres python qt quicktime readline ruby sdl slang  spell ssl svga tcltk tcpd tiff truetype-
fonts type1-fonts unicode vorbis win32c odecs xine xml xml2 xmms xv zlib userland_GNU 
kernel_linux elibc_glibc"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, 
PORTDIR_OVERLA Y
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-05-25 16:14:02 UTC
Maybe it's better if you report this upstream and ask the author about this. 
 
Comment 2 Diego Elio Pettenò (RETIRED) gentoo-dev 2005-07-12 11:22:23 UTC
Waiting for upstream response.