Thu Oct 27 19:09:05 2011: Request 71996 was acted upon. Transaction: Ticket created by steve.cook...@sca-uk.com Queue: Wx Subject: Wx::MediaCtrl EVT_MEDIA_PLAY error Broken in: 0.9902 Severity: Normal Owner: Nobody Requestors: steve.cook...@sca-uk.com Status: new Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=71996 >
Hi Mattia, Mark This is taken from an entry I made on PerlMonks. I'm running wxPerl with MediaCtrl under Kubuntu 10.04. It doesn't work at all as far as I can see on 10.10+ but I'm looking into it. I'm getting a strange error with the following line of Perl: Wx::Event::EVT_MEDIA_PLAY( $i_frame, $i_frame->{Ctl_Media}, \&buttons_on_media_played ); Which gives me: Error while autoloading 'Wx::wxEVT_MEDIA_PLAY' at /usr/local/lib/perl/5.10.1/Wx/Media.pm line 47 If I track through to the module in question, I find this stretch of code: 43 sub EVT_MEDIA_LOADED($$$) { $_[0]->Connect( $_[1], -1, &Wx::wxEVT_MEDIA_LOADED, $_[2] ) }; 44 sub EVT_MEDIA_FINISHED($$$) { $_[0]->Connect( $_[1], -1, &Wx::wxEVT +_MEDIA_FINISHED, $_[2] ) }; 45 sub EVT_MEDIA_STOP($$$) { $_[0]->Connect( $_[1], -1, &Wx::wxEVT_MEDIA_STOP, $_[2] ) }; 46 sub EVT_MEDIA_PAUSE($$$) { $_[0]->Connect( $_[1], -1, &Wx::wxEVT_ME +DIA_PAUSE, $_[2] ) }; 47 sub EVT_MEDIA_PLAY($$$) { $_[0]->Connect( $_[1], -1, &Wx::wxEVT_MEDIA_PLAY, $_[2] ) }; 48 sub EVT_MEDIA_STATECHANGED($$$) { $_[0]->Connect( $_[1], -1, &Wx::wxEVT_MEDIA_STATECHANGED, $_[2] ) }; What have I got here? I'm guessing it might be a wrapping bug, or even a GStreamer bug :( What are your thoughts? In the meantime I have written a little loop using ->GetState to test the status and call buttons_on_media_played where appropriate. It works a treat, although it seems a shame that the documented feature doesn't work and it's a little heavy on CPU cycles. Regards Steve