Subject: | Wx::MediaCtrl EVT_MEDIA_PLAY error |
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