Commit Graph

15 Commits

Author SHA1 Message Date
David Wendt b2dd4d8305 flv: Add `Clone` to `Tag` and `Header`.
Some types also get `Copy` by virtue of being plain data with no pointers.
2023-06-30 16:14:28 -06:00
David Wendt 8fd80cd173 flv: `Tag` should be public as well. 2023-06-30 16:14:28 -06:00
David Wendt d23378dd80 flv: `Header::parse` should always leave the stream reader in a reasonable position 2023-06-30 16:14:28 -06:00
David Wendt 20d33df458 flv: Add `skip_back` method for reverse tag parsing 2023-06-30 16:14:28 -06:00
David Wendt 7bf28074c0 flv: `parse` now consumes the back pointer.
We also guarantee that when parsing fails we leave the reader where it is to allow reading later.
2023-06-30 16:14:28 -06:00
David Wendt 3e2a5eb43b flv: Impl `Seek` for `FlvReader` 2023-06-30 16:14:28 -06:00
David Wendt 0edfecfea0 flv: Allow breaking a Reader down into parts or building one up from parts. 2023-06-30 16:14:28 -06:00
David Wendt 4d829768a1 tests: Add integration tests for full tag parsing 2023-06-30 16:14:28 -06:00
David Wendt e50ee7c139 chore: errant & 2023-06-30 16:14:28 -06:00
David Wendt f115326f3e flv: Implement Script Data parsing.
Yes, FLVs support embedded ActionScript data. Who knew?!
2023-06-30 16:14:28 -06:00
David Wendt 65583a7173 flv: Add video tag parsing support 2023-06-30 16:14:28 -06:00
David Wendt 43aa4abe0e flv: Check for the AAC sequence header byte.
Note that we don't actually parse the sequence header yet.
2023-06-30 16:14:28 -06:00
David Wendt f998ec20e8 flv: Implement `AudioData` parsing 2023-06-30 16:14:28 -06:00
David Wendt 9cbc371a6a flv: Implement header parsing. 2023-06-30 16:14:28 -06:00
David Wendt 5b93a9e316 flv: Add new crate for FLV (de)muxing 2023-06-30 16:14:28 -06:00