Re: [Mlt-devel] More robust producer lengths?
Brought to you by:
ddennedy,
lilo_booter
From: Dan D. <da...@de...> - 2011-05-01 01:59:02
|
On Sat, Apr 30, 2011 at 5:39 AM, anders musikka <and...@gm...> wrote: > Hello! > > Thank you very much for the patch. > > Sorry for not responding early, have had a few boring things that > needed doing ... :-) > > I've done some experiments, and this is what I have found: > > 1: The code added by the patch does not execute, when I use openshot to render > my minimal test case. > > Also, there are neither any white frames inserted, nor is the last > frame repeated. > > I added some printouts to producer_get_image, and I can see that it seems to > be called once for every frame that is actually present in the source > clip. After > playback reaches the end of the source clip, produce_get_image is not > called at all. > > 2: If I use melt, as you suggested, giving an out parameter after the > end of the file, > the output is what would be expected - the last frame IS duplicated. > > I'm not sure what to make of this. > > I've attached an .mlt file generated by Openshot, which demonstrates > the problem. > It is a rather minimal example. It doesn't seem to make much difference what the > actual clips are, so I'm not including any clips. Just take some > random clip, and > change its name to "four_and_a_half_second_clip.MOV", and then render the > .mlt-file using melt, and I hope the problem can be reproduced. It is important > that the clip is ~4.5 seconds long, if the clip is longer, everything seems > to work. I did that. > The expected behaviour is that the clip plays for slightly more than 3 seconds, > then there is some "blank", and then at exactly 4 seconds (frame number 100), > the clip comes back in. Your XML says <producer in="81.0" novdpau="1" out="162.0"> But 162 @ 25 fps is 6.48s. How can you expect it to to "play" longer than the end of the file? Why did OpenShot let you use a portion beyond the end of the file? > However, that is not what I get. Instead, the first clip only plays > until it runs out of > frames, then the 18-frame blank appears prematurely, which means that the second > showing of the clip is way early. (Which of course would make any > transitions/effects > be badly timed). If one wants to exceed the length of a clip it must do so explicitly by adding the "length" attribute to that producer element: length="163". Then it exhibits this behavior you expect. I do not feel the need to make any further changes. -- +-DRD-+ |