Проблема - встраивание чужого кода, static переменные
Вызывать программу тоже не могу - метода вызова внешних бинарных файлов из кода для данного SDK нет.Просто форкаться тоже нельзя?
нет скорее всего его использовать нелья. на самом деле, чтобы отпала часть вопросов - iOS 4.3 и их нативный (не сауриковский)
Похоже, ты взял какую-то обертку (transcode?) и пытаешься ее переделывать. Зря.
найти все static переменные либы, и обнулить (привести к начальному состоянию).
static переменные можно найти утилитой, а не руками.
Я взял ffmpeg.c . Буду благодарен если дашь наводку на нужный либ из 6
На самом деле я еще прочел даже все доступные примеры. Если бы все было так просто, то для обычной перекодировки они транскод не совали бы в ffmpeg.c
так зачем ты используешь ffmpeg.c , а не используешь либы напрямую?
Запросто:
Потому что я еще не просек процесс перекодирования полностью. Мое первоначальное предположение было - если мы считаем файл в буфер декодером, а потом запишем содержимое буфера при помощи кодекс в файл при том же битрейте, кол-ве каналов и семпл рэйте-то выйдет то, что надо. На самом деле ничего такого не случилось, поэтому я полез в исходники бинарника ффмпег, который делает именно то, что нужно. Большую часть кода уже вырезал, оставил только самое необходимое-транскод функции и обвязку, но как только это заработало- появилась эта трабла. На самом деле все манулы с сайта я прокурил уже давно, однако пока я что-то определенно делаю не так
На самом деле я смог найти эти злосчастные переменные, которые портили мне жизнь. И да, глюк был почему-то только в Debug версии. Если кто-то найдет материал, как пробрасывать из одного кодека в другой через raw pcm - буду рад почитать, аналогичного материала я не нашел.
Оставить комментарий
AE169
Суть проблемы следующая. Есть программка ffmpeg, библиотеки под свою хитрую архитектуру я собрал, теперь мне требуется переконвертировать несколько раз один и тот же файл. В этой программке была изменена процедура main в "вызываемую" процедуру, вырезан лишний консольный код. Первый раз функция прорабатывает на ура. Второй раз - падает из-за наличия статических переменных, которые были "запорчены" первым вызовом. Код достаточно пространный, все статические переменные не обнулить. Как быть? Код "транскодера" переписывать своими словами не хочу. Вызывать программу тоже не могу - метода вызова внешних бинарных файлов из кода для данного SDK нет.