TÖRÖK Attila
|
d153290fd6
|
nits: Fix a whole bunch of typos all over the place
|
2024-01-17 23:59:19 +01:00 |
David Wendt
|
ab02e89b3b
|
core: FLV's Strict Array type holds values, not key/value pairs.
*draws a zero on the 'days since last misdocumented feature' sign*
|
2023-11-28 18:53:01 -07:00 |
David Wendt
|
9754d925a5
|
flv: `skip_back` needs to consider the offset of the back pointers and not just tags
|
2023-10-10 18:49:09 -06:00 |
David Wendt
|
ff1ed66729
|
flv: VP6 video packets have a horizontal and vertical adjustment before the actual video data.
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
ea9c5ae830
|
flv: Break `io::Error` into kind and string at construction time to avoid having to do so when cloning.
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
0f176484ea
|
flv: Refactor tag parsing to use error codes instead of `None`.
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
e4b76ac149
|
flv: Sound format bits are ALSO specified backwards!
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
c61b27a41b
|
flv: Codec ID and frame type are specified backwards
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
4b81d65dc5
|
flv: Hitting the end of the script data block is treated like the variable terminator.
Add a test case with real FLV data to enforce this.
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
4f831b4351
|
flv: Script data blocks appear to start with a trash byte `0x02`
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
6358d3162b
|
flv: The type flag bits in the FLV spec are written backwards.
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
eed1ab492d
|
flv: All relevant output data types need to be public.
|
2023-06-30 16:14:28 -06:00 |
David Wendt
|
0c145253b6
|
flv: `Tag` fields should be public.
|
2023-06-30 16:14:28 -06:00 |
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 |