start with a one frame interval until we know more

if it's say four frames, we get to paused without eos, but then
hit eos without level message
This commit is contained in:
Thomas Vander Stichele
2013-08-29 19:50:03 +02:00
parent f0a54d1cb6
commit fc282df8a6

View File

@@ -179,14 +179,19 @@ class EncodeTask(ctask.GstPipelineTask):
cgstreamer.removeAudioParsers()
def getPipelineDesc(self):
# start with an emit interval of one frame, because we end up setting
# the final interval after paused and after processing some samples
# already, which is too late
interval = int(self.gst.SECOND / 75.0)
return '''
filesrc location="%s" !
decodebin name=decoder !
audio/x-raw-int,width=16,depth=16,channels=2 !
level name=level !
level name=level interval=%d !
%s ! identity name=identity !
filesink location="%s" name=sink''' % (
gstreamer.quoteParse(self._inpath).encode('utf-8'),
interval,
self._profile.pipeline,
gstreamer.quoteParse(self._outpath).encode('utf-8'))