Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add H.265 payloader fork #165 #287

Merged
merged 11 commits into from
Jan 11, 2025
Merged

Add H.265 payloader fork #165 #287

merged 11 commits into from
Jan 11, 2025

Conversation

y-kawawa
Copy link
Contributor

@y-kawawa y-kawawa commented Jan 4, 2025

This change completes the H265 implementation.
@y-kawawa
Copy link
Contributor Author

y-kawawa commented Jan 4, 2025

@kevmo314 @Sean-Der @lebedyncrs

Can you please confirm that you have made the corrections associated with the test?

return
}

if len(nalu) <= int(mtu) {
naluLen := len(nalu) + 2
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To prevent the MTU size from being exceeded during aggregation packet, the size is compared by adding 2 bytes for the aggregation header.


if aggregationBufferSize+marginalAggregationSize > int(mtu) {
flushBufferedNals()
marginalAggregationSize = calcMarginalAggregationSize(nalu)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

After flushing, recalculate because the margin conditions change.

@kawaway kawaway mentioned this pull request Jan 9, 2025
@y-kawawa y-kawawa changed the base branch from h265 to master January 9, 2025 17:05
@y-kawawa y-kawawa changed the title Additional testing and associated bug fixes related to H.265 payloader Add H.265 payloader fork #165 Jan 9, 2025
@y-kawawa
Copy link
Contributor Author

y-kawawa commented Jan 9, 2025

Base branch changed to master.

@y-kawawa
Copy link
Contributor Author

y-kawawa commented Jan 9, 2025

@kevmo314 @Sean-Der @lebedyncrs

Changed to a form of forking PR.
Another implementation of H.265 Payloader has been added to #286 as well. Please adopt the preferred one.

@lebedyncrs
Copy link

@y-kawawa, @kevmo314 thank you very much for your work. I am happy to fund you a coffee, let me know how

@kevmo314
Copy link
Contributor

kevmo314 commented Jan 9, 2025

Thanks for adding the tests here. This change looks good to me. I know @Sean-Der had some thoughts on the tests so I'll let him approve but if he isn't able to get to this PR in a few days I'll also approve it so we can get it unblocked.

@lebedyncrs contributions to https://opencollective.com/pion are super appreciated :)

@joeturki
Copy link
Member

Hello! We’re working on updating the linters[1], Sorry I caused a conflict on your branch, Would you like me to fix it and fix the lint issues on your branch?

Thank you so much for your work! <3

  1. Improve the RTP package #288

@y-kawawa
Copy link
Contributor Author

@joeturki
Thanks for contacting us! Conflict fixed.
Approval is required to run the linter.
If you have authorization, could you please allow me to do so?

@kevmo314
Copy link
Contributor

@joeturki
Thanks for contacting us! Conflict fixed.
Approval is required to run the linter.
If you have authorization, could you please allow me to do so?

Approved the workflow run

Copy link

codecov bot commented Jan 10, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.69%. Comparing base (fee4338) to head (ab77ba5).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #287      +/-   ##
==========================================
+ Coverage   83.70%   84.69%   +0.98%     
==========================================
  Files          24       24              
  Lines        2535     2699     +164     
==========================================
+ Hits         2122     2286     +164     
  Misses        354      354              
  Partials       59       59              
Flag Coverage Δ
go 84.69% <100.00%> (+0.98%) ⬆️
wasm 84.06% <100.00%> (+1.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@y-kawawa y-kawawa force-pushed the master branch 3 times, most recently from 8b9ba4e to e4d4bf1 Compare January 10, 2025 20:58
codecs/h265_packet.go Outdated Show resolved Hide resolved
@y-kawawa y-kawawa force-pushed the master branch 2 times, most recently from cce2e93 to 4549554 Compare January 10, 2025 22:22
@y-kawawa
Copy link
Contributor Author

y-kawawa commented Jan 10, 2025

@kevmo314
Thanks for the multiple approvals.
I didn't want to do too much, but I made the following modifications

  • Revert H265Packet changes.
    H265Packet is no longer comparable due to the inclusion of nalBuffer, etc. of slices in H265Packet.
    Once reversed because it falls under the check for fixing incompatibilities.

@joeturki
Copy link
Member

joeturki commented Jan 10, 2025

@y-kawawa I approved it again, don't worry. as soon as I get a notification, I'll approve it :)

@y-kawawa
Copy link
Contributor Author

@joeturki Thanks 🙏

H265Packet is no longer comparable due to the inclusion of
nalBuffer, etc. of slices in H265Packet.
Once reversed because it falls under the check for fixing
incompatibilities.
@y-kawawa
Copy link
Contributor Author

I misunderstood Linter's point. (Fixed)

@joeturki
Copy link
Member

joeturki commented Jan 11, 2025

Btw you can install and run golangci-lint locally, we use v1.63.4, the config file is included with the repo, and it should just work, Only if you want :)

Thanks :)

@y-kawawa
Copy link
Contributor Author

Thanks again and again .
I have zero linter errors with local golangci-lint v1.63.4 (couldn't get it down).

@y-kawawa y-kawawa requested a review from kevmo314 January 11, 2025 17:21
@kevmo314
Copy link
Contributor

This PR looks good. Thank you for the work adding the tests! I haven't heard from Sean on any other requests so I'll go ahead and approve so we can get this in.

@kevmo314 kevmo314 merged commit f1c7226 into pion:master Jan 11, 2025
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants