Cog VM includes the MPEGPlugin, but the interpreter VM from http://ftp.squeak.org/4.1/ does not. It's needed by Cobalt. To test: - Load up Movies-Kernel and Movies-Player from http://www.squeaksource.com/MultiMedia.html (aside: anyone know of a more official location for multimedia stuff?) - Get out an MPEGPlayerMorph (World > objects > Multimedia > MPEGPlayer) - press the load button and find your favorite mpeg file. I threw up the one we ship with cobalt in case you don't have one on hand (3.1 MB): http://cobalt.cs.duke.edu/pub/alien.mpeg - official VM will get a primitive failure at this point - Cog will show the first frame of the video and you can watch it by pressing play -- Matthew Fulmer (a.k.a. Tapple) |
On Fri, Jan 14, 2011 at 11:59:47AM -0500, Matthew Fulmer wrote: > > Cog VM includes the MPEGPlugin, but the interpreter VM from > http://ftp.squeak.org/4.1/ > does not. It's needed by Cobalt. To test: > > - Load up Movies-Kernel and Movies-Player from > http://www.squeaksource.com/MultiMedia.html > (aside: anyone know of a more official location for multimedia > stuff?) > - Get out an MPEGPlayerMorph (World > objects > Multimedia > > MPEGPlayer) > - press the load button and find your favorite mpeg file. I > threw up the one we ship with cobalt in case you don't have > one on hand (3.1 MB): > http://cobalt.cs.duke.edu/pub/alien.mpeg > - official VM will get a primitive failure at this point > - Cog will show the first frame of the video and you can watch > it by pressing play The unix VM includes MPEGPlugin. I'm not sure about the Mac and Windows VMs, although I would have expected it to be there also. I am away from Squeak for a couple of days so I can't reproduce your test right now. Can you clarify which platform this is, and is the MPEGPlugin missing entirely, or is it present but not working correctly? Thanks! Dave |
In reply to this post by Tapple Gao
On Fri, Jan 14, 2011 at 11:59:47AM -0500, Matthew Fulmer wrote: > > Cog VM includes the MPEGPlugin, but the interpreter VM from > http://ftp.squeak.org/4.1/ > does not. It's needed by Cobalt. Well I'm stumped. The plugin exists and is installed in the normal place. But it is not being loaded when called from #primFileValidMPEG:. There are no errors (e.g. unresolved symbols etc) and no problems compiling, we are just not finding the plugin at runtime. I'm sure I'm missing something obvious, but I can't spot it. > To test: > > - Load up Movies-Kernel and Movies-Player from > http://www.squeaksource.com/MultiMedia.html > (aside: anyone know of a more official location for multimedia > stuff?) > - Get out an MPEGPlayerMorph (World > objects > Multimedia > > MPEGPlayer) > - press the load button and find your favorite mpeg file. I > threw up the one we ship with cobalt in case you don't have > one on hand (3.1 MB): > http://cobalt.cs.duke.edu/pub/alien.mpeg FYI, access is denied to this file: Forbidden You don't have permission to access /pub/alien.mpeg on this server. Apache/2.2.14 (Ubuntu) Server at cobalt.cs.duke.edu Port 80 > - official VM will get a primitive failure at this point > - Cog will show the first frame of the video and you can watch > it by pressing play > > -- > Matthew Fulmer (a.k.a. Tapple) |
On Sat, Jan 15, 2011 at 9:14 AM, David T. Lewis <[hidden email]> wrote:
I suspect it's not obvious and I'd be willing to bet there /is/ an undefined symbol in the plugin. It won't show on the compiler command line unless you compile carefully, since the compiler does allow undefined symbols, a side-efeft of the default global namespace. If the program into which a shared library is loaded has already loaded some other shared library that defines undefined in that first shared library the first shared library will get its definition from the other. So remake the plugin, capturing the link step, and then manually repeat the link step supplying "-Wl,--warn-unresolved-symbols -Wl,--no-allow-shlib-undefined" and hopefully you'll be informed of the undefined symbols.
HTH Eliot
|
On Sat, Jan 15, 2011 at 10:11:25AM -0800, Eliot Miranda wrote: > > On Sat, Jan 15, 2011 at 9:14 AM, David T. Lewis <[hidden email]> wrote: > > > > > On Fri, Jan 14, 2011 at 11:59:47AM -0500, Matthew Fulmer wrote: > > > > > > Cog VM includes the MPEGPlugin, but the interpreter VM from > > > http://ftp.squeak.org/4.1/ > > > does not. It's needed by Cobalt. > > > > Well I'm stumped. The plugin exists and is installed in the normal > > place. But it is not being loaded when called from #primFileValidMPEG:. > > There are no errors (e.g. unresolved symbols etc) and no problems > > compiling, we are just not finding the plugin at runtime. > > > > I'm sure I'm missing something obvious, but I can't spot it. > > > > I suspect it's not obvious and I'd be willing to bet there /is/ an undefined > symbol in the plugin. It won't show on the compiler command line unless you > compile carefully, since the compiler does allow undefined symbols, a > side-efeft of the default global namespace. If the program into which a > shared library is loaded has already loaded some other shared library that > defines undefined in that first shared library the first shared library will > get its definition from the other. So remake the plugin, capturing the link > step, and then manually repeat the link step supplying > "-Wl,--warn-unresolved-symbols -Wl,--no-allow-shlib-undefined" and hopefully > you'll be informed of the undefined symbols. Thanks Eliot, It's definitely a missing symbol issue, which is what might be expected if the entire Mpeg3Plugin.c file was being omitted from the build ;) This is a CMake configuration problem, so I'll see if I can fumble my way through to a find a fix. Thanks, Dave |
In reply to this post by David T. Lewis
On Sat, Jan 15, 2011 at 12:14:56PM -0500, David T. Lewis wrote: > > http://cobalt.cs.duke.edu/pub/alien.mpeg > > FYI, access is denied to this file: > > Forbidden > > You don't have permission to access /pub/alien.mpeg on this server. > Apache/2.2.14 (Ubuntu) Server at cobalt.cs.duke.edu Port 80 fixed -- Matthew Fulmer (a.k.a. Tapple) |
On Mon, Jan 17, 2011 at 01:40:15PM -0500, Matthew Fulmer wrote: > > On Sat, Jan 15, 2011 at 12:14:56PM -0500, David T. Lewis wrote: > > > http://cobalt.cs.duke.edu/pub/alien.mpeg > > > > FYI, access is denied to this file: > > > > Forbidden > > > > You don't have permission to access /pub/alien.mpeg on this server. > > Apache/2.2.14 (Ubuntu) Server at cobalt.cs.duke.edu Port 80 > > fixed > > -- > Matthew Fulmer (a.k.a. Tapple) Thanks. To follow up on the original question: I looked into the issue on the unix VM, and it turns out there are problems in the CMake configuration script, which is excluding the actual Mpeg3Plugin.c file from the build (hence the plugin "loads" but no actual primitives are present), and which also enables pthreads in the plugin (which leads to crashes for reasons that as far as I know have never been diagnosed). I sent a patch for the configuration to Ian, but it's enough of a hack that I won't embarrass myself further by posting it here. Turns out Ian is in Kyoto at the moment, so he'll probably have a look at it in a week or so. Meanwhile, a question for Bert concerning the MPEG plugin: Ian mentioned that "the MPEG plugin was removed from the standard Linux distribution because of licensing issues. OLPC/RedHat would not take the VM with it included." So - is it OK to include the MPEG plugin as an external plugin in the standard binary VM distributions? Thanks, Dave |
On 17.01.2011, at 21:10, David T. Lewis wrote: > > On Mon, Jan 17, 2011 at 01:40:15PM -0500, Matthew Fulmer wrote: >> >> On Sat, Jan 15, 2011 at 12:14:56PM -0500, David T. Lewis wrote: >>>> http://cobalt.cs.duke.edu/pub/alien.mpeg >>> >>> FYI, access is denied to this file: >>> >>> Forbidden >>> >>> You don't have permission to access /pub/alien.mpeg on this server. >>> Apache/2.2.14 (Ubuntu) Server at cobalt.cs.duke.edu Port 80 >> >> fixed >> >> -- >> Matthew Fulmer (a.k.a. Tapple) > > Thanks. > > To follow up on the original question: I looked into the issue on > the unix VM, and it turns out there are problems in the CMake > configuration script, which is excluding the actual Mpeg3Plugin.c > file from the build (hence the plugin "loads" but no actual > primitives are present), and which also enables pthreads in the > plugin (which leads to crashes for reasons that as far as I know > have never been diagnosed). > > I sent a patch for the configuration to Ian, but it's enough > of a hack that I won't embarrass myself further by posting it > here. Turns out Ian is in Kyoto at the moment, so he'll probably > have a look at it in a week or so. > > Meanwhile, a question for Bert concerning the MPEG plugin: > > Ian mentioned that "the MPEG plugin was removed from the standard > Linux distribution because of licensing issues. OLPC/RedHat would > not take the VM with it included." > > So - is it OK to include the MPEG plugin as an external plugin in > the standard binary VM distributions? Squeak.org VMs have always included it and nobody ever complained about that. Until someone does I don't see a problem. AFAIU hardware vendors like OLPC may have to pay royalties if they sell mp3-capable machines. - Bert - |
In reply to this post by David T. Lewis
Well the mpeg code is licensed GPL and re-licensed for us as LGPL and Squeak-L However the issue likely is that no-one wants to see if the Mpeg LA guys http://www.mpegla.com/main/programs/M2S/Pages/Intro.aspx view the code base as an infringement on their patents. The answer to this likely would be yes, as they can pay the lawyers to hash out the actual yes/no. Personally the linux guys should work with the gstreamer plugin, and over on the windows/macintosh side play with the quicktime logic . Although you can in theory install gstreamer on windows, the installation on os-x in non-trival and I doubt anyone who doesn't work with MacPorts is willing to install the massive amount of software needed to support it when the Quicktime logic just works... Therefore I'd suggest end-of-life for the mpeg plugin and work the alternate choices. On 2011-01-17, at 12:10 PM, David T. Lewis wrote: > > On Mon, Jan 17, 2011 at 01:40:15PM -0500, Matthew Fulmer wrote: >> >> On Sat, Jan 15, 2011 at 12:14:56PM -0500, David T. Lewis wrote: >>>> http://cobalt.cs.duke.edu/pub/alien.mpeg >>> >>> FYI, access is denied to this file: >>> >>> Forbidden >>> >>> You don't have permission to access /pub/alien.mpeg on this server. >>> Apache/2.2.14 (Ubuntu) Server at cobalt.cs.duke.edu Port 80 >> >> fixed >> >> -- >> Matthew Fulmer (a.k.a. Tapple) > > Thanks. > > To follow up on the original question: I looked into the issue on > the unix VM, and it turns out there are problems in the CMake > configuration script, which is excluding the actual Mpeg3Plugin.c > file from the build (hence the plugin "loads" but no actual > primitives are present), and which also enables pthreads in the > plugin (which leads to crashes for reasons that as far as I know > have never been diagnosed). > > I sent a patch for the configuration to Ian, but it's enough > of a hack that I won't embarrass myself further by posting it > here. Turns out Ian is in Kyoto at the moment, so he'll probably > have a look at it in a week or so. > > Meanwhile, a question for Bert concerning the MPEG plugin: > > Ian mentioned that "the MPEG plugin was removed from the standard > Linux distribution because of licensing issues. OLPC/RedHat would > not take the VM with it included." > > So - is it OK to include the MPEG plugin as an external plugin in > the standard binary VM distributions? > > Thanks, > Dave > -- =========================================================================== John M. McIntosh <[hidden email]> Twitter: squeaker68882 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com =========================================================================== |
On Mon, Jan 17, 2011 at 09:28:20PM +0100, Bert Freudenberg wrote: > > On 17.01.2011, at 21:10, David T. Lewis wrote: > > > > So - is it OK to include the MPEG plugin as an external plugin in > > the standard binary VM distributions? > > Squeak.org VMs have always included it and nobody ever complained about that. Until someone does I don't see a problem. > > AFAIU hardware vendors like OLPC may have to pay royalties if they sell mp3-capable machines. Fine, we'll assume it is OK until someone says otherwise. On Mon, Jan 17, 2011 at 12:28:55PM -0800, John M McIntosh wrote: > > Well the mpeg code is licensed GPL and re-licensed for us as LGPL and Squeak-L > > However the issue likely is that no-one wants to see if the Mpeg LA > guys http://www.mpegla.com/main/programs/M2S/Pages/Intro.aspx view > the code base as an infringement on their patents. The answer to this > likely would be yes, as they can pay the lawyers to hash out the actual yes/no. Thanks John, I think this was the concern that Ian was thinking about. I guess if any patent attorneys decide to open the discussion, we can delete the old plugin and be done with it. > Personally the linux guys should work with the gstreamer plugin, and over on the windows/macintosh side play with the quicktime logic . > > Although you can in theory install gstreamer on windows, the installation on os-x in non-trival and I doubt anyone who doesn't work with MacPorts is willing to install > the massive amount of software needed to support it when the Quicktime logic just works... > > Therefore I'd suggest end-of-life for the mpeg plugin and work the alternate choices. Good advice. Thanks, Dave |
Free forum by Nabble | Edit this page |