- if (!url_is_streamed(s->pb) && video_enc) {
- file_size = url_ftell(pb);
- url_fseek(pb, 4, SEEK_SET);
- put_le32(pb, file_size);
- url_fseek(pb, swf->duration_pos, SEEK_SET);
- put_le16(pb, video_enc->frame_number);
- url_fseek(pb, file_size, SEEK_SET);
+ if (s->pb->seekable && video_enc) {
+ file_size = avio_tell(pb);
+ avio_seek(pb, 4, SEEK_SET);
+ avio_wl32(pb, file_size);
+ avio_seek(pb, swf->duration_pos, SEEK_SET);
+ avio_wl16(pb, swf->video_frame_number);
+ avio_seek(pb, swf->vframes_pos, SEEK_SET);
+ avio_wl16(pb, swf->video_frame_number);
+ avio_seek(pb, file_size, SEEK_SET);