[Gambas-user] MediaPlayer bug with AboutToFinish and URL?
Benoît Minisini
gambas at ...1...
Sun Oct 9 02:53:17 CEST 2016
Le 09/10/2016 à 01:23, Piper984 a écrit :
> 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
>
Do you have a more readable version of your mail?
--
Benoît Minisini
More information about the User
mailing list