LINUX.ORG.RU

Сообщения a_afoxy

 

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

Форум — Development

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

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

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

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

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

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

 

a_afoxy
()

RSS подписка на новые темы