[Gambas-user] MediaPlayer bug with AboutToFinish and URL?

Piper984 mclennan at ...3614...
Sun Oct 9 01:23:17 CEST 2016


Hi:I have been playing with the Gambas MediaPlayer and the related Gambas
wrappers of GStreamer libs recently hoping that I can find enough
functionality in the gb.media libraries to be able to construct my and not
have to ever go back to doing my GUIs in C.I have used the Playbin plugin in
the past w/ PyGST and also C.  When the video is about done playing an event
can fire that lets the hosting application set the URL property to a new
video should the app want to play another video at the end of the current
video.I am seeing two weird *bugs* w/ the Gambas MediaPlayer.  I looked at
the C code
herehttps://sourceforge.net/p/gambas/code/HEAD/tree/gambas/trunk/gb.media/src/c_mediaplayer.cand
see that for the most part the MediaPlayer is a very slick wrapper of the
Playbin element.  So hopefully the issue will be easy to find / correct for
someone with some deeper background of the gb.media library.The issues:#1)
Even though the "AboutToFinish" event fires successfully, setting the URL
makes no effect here, and the "END" event will then fire at the end of the
current video. The 'Video_Changed' event does not fire.  If after starting
starting a video, I manually change the .URL property (from a button click
event) then at the end of the first video I will get a 'Video_Changed' event
and the second video will start.  #2) When I am able to get the MediaPlayer
to set the .URL property to the second value, and the video does start to
play at the end of the first video, the audio plays but the video does not
update until I invoke the .Pause() method and even then it's just displays
that frame and when I invoke .Play() after  .Pause() the video does not
continue but the audio does.  Codec issue?I am using Ubuntu 14.04, Gambas
3.9.0.  GStreamer 1.2.4 (kinda old, but playbin works as I'd expect under
Python and C).Here is some of the code:' Gambas class filePublic objMedia1
As New MediaPlayer As "MP1"Public Sub Button1_Click()  objMedia1.URL =
"file:///home/chris/Desktop/big-buck-bunny_trailer.webm" 
objMedia1.SetWindow(DrawingArea1, DrawingArea1.X, DrawingArea1.Y,
DrawingArea1.Width, DrawingArea1.Height)  objMedia1.Play()EndPublic Sub
btnNewURL_Click()  ' invoking this 10-15 seconds into the video clip seems
to have the desired effect.  objMedia1.URL =
"file:///home/chris/Desktop/sintel_trailer-480p.webm"End Public Sub
MP1_End()  Print "Video Ended."EndPublic Sub MP1_AboutToFinish() ' this
doesn't have any effect.  objMedia1.URL =
"file:///home/chris/Desktop/sintel_trailer-480p.webm"EndPublic Sub
MP1_VideoChanged()' This only fires when @ the end of the first video when
I've manually set the URL property from a button click.  If I set' the URL
property from the _AboutToFinish() event Sub then nothing happens (other
then _END firing when video #1 has completed).  Print "Video
Changed."EndHopefully that's semi-clear. I hope this is something that can
be easily reproduced and fixed!  I really enjoy how productive I can be w/
Gambas and now that I've gotten used to doing GUIs and semi-complex
application business logic with Gambas I really don't ever want to have to
do those in C again.  :)Thanks!Piper



--
View this message in context: http://gambas.8142.n7.nabble.com/MediaPlayer-bug-with-AboutToFinish-and-URL-tp57513.html
Sent from the gambas-user mailing list archive at Nabble.com.



More information about the User mailing list