Я хочу изменить GDLC MP4 Muxer так, чтобы
он не отправлял данные другому записывающему устройству, а просто записывал их сам в данные файла ...
Это больше не будет мультиплексором ... это будет писатель, у которого есть mp4 мультиплексор ...
Но сначала яЯ должен выяснить, где находятся последние [мультиплексированные] данные, чтобы я мог записать их в файл ...
Чтобы получить воспроизводимый файл, я должен записать данные где?
Мои попытки:
Я помещаю отладочную информацию и вижу, что она вызывает Append и этот вызов метода Replace периодически ... я пишу буфер [BYTE pBuffer], который передается методу Append MuxOutput. Я получаю двоичные данные, которые имеют некоторые заголовки, но не воспроизводятся ... Так что это неправильное место или я делаю это неправильно..... Затем я проверяю, что вызывает метод Append --- FillSpace и YUVVideoHandler :: WriteDescriptor ... Но я не могу получить полезную информацию из вызова других методов Appe.nd ...
ОБНОВЛЕНИЕ
Ну, я могу записать данные в файл по методу MuxOutput::Replace
... Проблема в том, что информация заголовка и нижний колонтитул(таблицы в конце файла) ошибочны ... Другие данные [полезные данные] верны ... Воспроизводимый файл, записанный программой записи файлов, начинался с 00 00 00 18 ... [шестнадцатеричное], но мои записанные данные начинаются с 00 00 00 08 [шестнадцатеричное] .... когда я заменяю части верхнего и нижнего колонтитула mp4 файлом, созданным средством записи файлов с использованием инструмента шестнадцатеричного редактора, файлидентичны и играют.
В чем может быть проблема?