LINUX.ORG.RU

Разработка audio plugin'а Gstreaamer

 


0

1

Господа, кто разбирается в gstreamer'е в достаточной степени?

Нужно написать плагин для бесшовного воспроизведения сегмента аудио данных (seamless loop), проще говоря нужно в определенный момент «смикшировать» края этого сегмента. У нас есть конвеер(pipeline), в который нужно включить этот элемент. Выглядит он так: filesrc->decoder->audioconvert->проектируемый элемент>audiosink.

Предполагается, что в элементе будут храниться буферы, накачанные вперед, и сохраняться уже прошедшие буферы. По нажатиям кнопок loopIn и loopOut среди прошедших сохраненных в элементе буферов мы будем находить по timestamp'ам наибооле близкий ко времени нажатия кнопочек, «микшировать» и выводить в нужное время.

Вопросы получаются несколько абстрактные:

  • возможно ли это вообще?
  • что делать со временем? как определить участок буфера, который нужно микшировать достаточно точно?
  • подойдет ли в качестве основы GstBaseTransform?

Замечания: работаю на с 0.10 версией gstreamer'а, использую сборки для винды и мака с gstreamer.com, соответственно, с ними плагин должен быть именно для этой версии и работать под маком и виндой.



Последнее исправление: cetjs2 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.