ThetaDev/rustypipe
6
37
Fork
You've already forked rustypipe
12

Exposing codec profile / levels #62

Open
opened 2025年07月30日 14:14:50 +02:00 by jeidnx · 0 comments

Hi, awesome work!

While trying to construct a dash manifest i noticed that for H.264 / AV1 and AAC the profile / level information is not in the {Video,Audio}Codec struct. Instead this information is in the MIME string.

I have implemented storing the codec info in the codec enum here, and wanted to have your opinion on this, since my change removes the Copy trait. It would be possible to retain this by actually parsing the information and storing it as numbers, though for my use case this would be excessive.

Another thing to think about is the SearchFilter, since it uses the same enums. I've implemented Default, but it is still annoying to specify this each time you use a SearchFilter. Maybe there should be two separate codec Enums, one for searching and one for the actual codec response.

Also this currently doesn't work for the combined video/audio streams, but it should be simple enough to implement.

Hi, awesome work! While trying to construct a dash manifest i noticed that for H.264 / AV1 and AAC the profile / level information is not in the {Video,Audio}Codec struct. Instead this information is in the MIME string. I have implemented storing the codec info in the codec enum [here](https://codeberg.org/jeidnx/rustypipe/src/branch/codec_info), and wanted to have your opinion on this, since my change removes the `Copy` trait. It would be possible to retain this by actually parsing the information and storing it as numbers, though for my use case this would be excessive. Another thing to think about is the SearchFilter, since it uses the same enums. I've implemented `Default`, but it is still annoying to specify this each time you use a SearchFilter. Maybe there should be two separate codec Enums, one for searching and one for the actual codec response. Also this currently doesn't work for the combined video/audio streams, but it should be simple enough to implement.
Sign in to join this conversation.
No Branch/Tag specified
main
feat/deobf-extractor
abr-streaming
abr-streaming-wip
feat/timezone
feat/oauth
feat/http3
feat/postprocessor
feat/channel-tv
rustypipe/v0.11.4
rustypipe/v0.11.3
rustypipe/v0.11.2
rustypipe-cli/v0.7.2
rustypipe/v0.11.1
rustypipe-cli/v0.7.1
rustypipe-downloader/v0.3.1
rustypipe/v0.11.0
rustypipe-cli/v0.7.0
rustypipe-downloader/v0.3.0
rustypipe/v0.10.0
rustypipe-cli/v0.6.0
rustypipe-downloader/v0.2.7
rustypipe/v0.9.0
rustypipe-cli/v0.5.0
rustypipe-downloader/v0.2.6
rustypipe/v0.8.0
rustypipe-downloader/v0.2.5
rustypipe/v0.7.2
rustypipe/v0.7.1
rustypipe-cli/v0.4.0
rustypipe-downloader/v0.2.4
rustypipe/v0.7.0
rustypipe-cli/v0.3.0
rustypipe-downloader/v0.2.3
rustypipe/v0.6.0
rustypipe-cli/v0.2.2
rustypipe-downloader/v0.2.2
rustypipe/v0.5.0
rustypipe-cli/v0.2.1
rustypipe-downloader/v0.2.1
rustypipe/v0.4.0
rustypipe-cli/v0.2.0
rustypipe-downloader/v0.2.0
rustypipe/v0.3.0
rustypipe/v0.2.1
rustypipe-cli/v0.1.1
rustypipe-downloader/v0.1.1
rustypipe/v0.2.0
rustypipe/v0.1.3
rustypipe/v0.1.2
rustypipe/v0.1.1
rustypipe-cli/v0.1.0
rustypipe-downloader/v0.1.0
rustypipe/v0.1.0
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ThetaDev/rustypipe#62
Reference in a new issue
ThetaDev/rustypipe
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?