Comparing logs, produced by VLC, that opens the same file over ftp and locally, I can see it does parse all chunks in the file header. The difference starts when it said "skipping movi chunk". libavi requests access module whenever "STREAM_CAN_FASTSEEK", file-module reported TRUE, ftp-module reported FALSE. So when we are opening file locally, it sais:
avi debug: skipping movi chunk
avi debug: found Chunk fourcc:31786469 (idx1) size:2751200 pos:384894784
avi debug: idx1: index entry:171950
In case of ftp, libavi stops further processing:
/* If we can't seek then stop when we 've found LIST-movi */
I can see two options here:
- libavi should not use FAST_SEEK, but normal SEEK instead (ftp seems to implement it). I'm not sure I understand what is the difference
- we need to implement FAST_SEEK in ftp utilizing REST (if server support it)
Can you please advise me in which direction I should follow?