From bb151741db6647ea981441eb0f1a4f0e5cca27e9 Mon Sep 17 00:00:00 2001 From: yomguy Date: Wed, 26 Sep 2012 18:22:23 +0200 Subject: [PATCH] fix streamer --- telemeta/views/core.py | 17 ++++++++--------- telemeta/views/item.py | 3 +-- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/telemeta/views/core.py b/telemeta/views/core.py index dc24a4fc..d57490ea 100644 --- a/telemeta/views/core.py +++ b/telemeta/views/core.py @@ -106,16 +106,15 @@ def render(request, template, data = None, mimetype = None): return render_to_response(template, data, context_instance=RequestContext(request), mimetype=mimetype) -def stream_from_processor(__decoder, __processor, __flag, metadata=None): +def stream_from_processor(_decoder, _proc, _flag, metadata=None): if metadata: - __processor.set_metadata(metadata) - while True: - __frames, __eodproc = __processor.process(*__decoder.process()) - if __eodproc or not len(__frames): - __flag.value = True - __flag.save() - break - yield __processor.chunk + _proc.set_metadata(metadata) + _eod = False + while not _eod: + _frames, _eod = _proc.process(*_decoder.process()) + yield _proc.chunk + _flag.value = True + _flag.save() def stream_from_file(__file): chunk_size = 0x100000 diff --git a/telemeta/views/item.py b/telemeta/views/item.py index 03c3cb55..b64eb6e2 100644 --- a/telemeta/views/item.py +++ b/telemeta/views/item.py @@ -538,8 +538,7 @@ class ItemView(object): decoder = timeside.decoder.FileDecoder(audio) decoder.setup() proc = encoder(media, streaming=True) - proc.setup(channels=decoder.channels(), samplerate=decoder.samplerate(), - nframes=decoder.nframes()) + proc.setup(channels=decoder.channels(), samplerate=decoder.samplerate()) if extension in mapping.unavailable_extensions: metadata=None response = HttpResponse(stream_from_processor(decoder, proc, flag, metadata=metadata), mimetype = mime_type) -- 2.39.5