|
|
|||||
Распаковка неполного архива zlib.
Требуется загрузить swf файл как ByteArray, распаковать, и выудить некоторую информацию. Загружаю успешно, разбираю хедер флешки, беру остаток и делаю uncompress() (документация). Если флешка полная, то она нормально распаковывается, но если она с оторванным хвостом то uncompress() сообщает об ошибки декомпрессии. При том даже будучи неполной флешка нормально играется если её запустить, т.к. флеш заточен под воспроизведение неполных файлов. Т.е. она валидная но неполная. Мне надо распаковать то что есть. Алгоритм сжатия у флешек zlib deflate который позволяет такое сделать. Есть идеи как такое можно сделать? Очень уж не хочется сторонний код на as3 цеплять с реализацией deflate, т.к. будет существенно медленнее и по объёму больше.
|
|
|||||
Цитата:
Цитата:
__________________
...вселенская грусть |
|
|||||
Я знаю, даже спеку указал.
Есть флешка на 10 мегабайт которая показывает картинки, то если от неё отрезать с хвоста пару мегабайт, она будет прекрасно работать, хотя хвост потерян. Флешплееру пофиг на отсутствие конца файла. А если попробовать распаковать такую флешку то uncompress будет ругаться. Вот в чём вопрос. А мне надо распаковать. |
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
Конкретно с флешкой - Блуд давно мне говорил, что Loader грузит потоком и с него можно считывать байты ещё до конца загрузки. Сий спец-эффект мне повторить, к сожалению, не удалось. Но кто знает, возможно просто мне не повезло. Покопайте в этом направлении.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
И смысл в таком копании? Loader#loadBytes() сначала все распакует, а потом отобразит. А доступ к байтам ничем не поможет. Мне непонятно только - зачем загружать кусочек флешки и пытаться его отобразить?
__________________
...вселенская грусть |
|
|||||
Modus ponens
|
На сколько я понимаю, флешевыми функциями этого не сделать, но, с другой стороны, я видел реализацию на C#, и она совсем не большая. Так что скорее всего - писать самому / портировать.
__________________
Hell is the possibility of sanity |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Вроде бы у Loader по мере загрузки можно дергать bytes.
|
|
|||||
блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
|
У меня не получается вот.
Попробуй ты
__________________
Тут мужик танцует и поёт про флэш |
Часовой пояс GMT +4, время: 15:45. |
|
« Предыдущая тема | Следующая тема » |
Теги |
bytearray , deflate , uncompress , zip |
Опции темы | |
Опции просмотра | |
|
|