Skip to content

Add H.265 payloader fork #165#287

Merged
kevmo314 merged 11 commits intopion:masterfrom
y-kawawa:master
Jan 11, 2025
Merged

Add H.265 payloader fork #165#287
kevmo314 merged 11 commits intopion:masterfrom
y-kawawa:master

Conversation

@y-kawawa
Copy link
Copy Markdown
Contributor

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

This change completes the H265 implementation.
@y-kawawa
Copy link
Copy Markdown
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?

}

if len(nalu) <= int(mtu) {
naluLen := len(nalu) + 2
Copy link
Copy Markdown
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
Copy Markdown
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
Copy Markdown
Contributor Author

y-kawawa commented Jan 9, 2025

Base branch changed to master.

@y-kawawa
Copy link
Copy Markdown
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
Copy Markdown

@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
Copy Markdown
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 :)

@JoTurk
Copy link
Copy Markdown
Member

JoTurk commented Jan 10, 2025

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
Copy Markdown
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
Copy Markdown
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

@codecov
Copy link
Copy Markdown

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
@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
Copy Markdown
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.

@JoTurk
Copy link
Copy Markdown
Member

JoTurk 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
Copy Markdown
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
Copy Markdown
Contributor Author

I misunderstood Linter's point. (Fixed)

@JoTurk
Copy link
Copy Markdown
Member

JoTurk 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
Copy Markdown
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
Copy Markdown
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
@Sean-Der
Copy link
Copy Markdown
Member

@kevmo314 thank you so much for helping with this :) Sorry I haven't responded more/been more involved. I am consistently underwater these days.

Your judgement has consistently been fantastic, merge away!

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.

5 participants