Skip to content

feat(plugin-meetings): add AV1 codec support and related constants#4816

Draft
fnowakow wants to merge 14 commits intowebex:nextfrom
fnowakow:av1-no-refactor
Draft

feat(plugin-meetings): add AV1 codec support and related constants#4816
fnowakow wants to merge 14 commits intowebex:nextfrom
fnowakow:av1-no-refactor

Conversation

@fnowakow
Copy link
Copy Markdown
Contributor

COMPLETES #< INSERT LINK TO ISSUE >

This pull request addresses

< DESCRIBE THE CONTEXT OF THE ISSUE >

by making the following changes

< DESCRIBE YOUR CHANGES >

Change Type

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Tooling change
  • Internal code refactor

The following scenarios were tested

< ENUMERATE TESTS PERFORMED, WHETHER MANUAL OR AUTOMATED >

The GAI Coding Policy And Copyright Annotation Best Practices

  • GAI was not used (or, no additional notation is required)
  • Code was generated entirely by GAI
  • GAI was used to create a draft that was subsequently customized or modified
  • Coder created a draft manually that was non-substantively modified by GAI (e.g., refactoring was performed by GAI on manually written code)
  • Tool used for AI assistance (GitHub Copilot / Other - specify)
    • Github Copilot
    • Other - Please Specify
  • This PR is related to
    • Feature
    • Defect fix
    • Tech Debt
    • Automation

I certified that

  • I have read and followed contributing guidelines
  • I discussed changes with code owners prior to submitting this pull request
  • I have not skipped any automated checks
  • All existing and new tests passed
  • I have updated the documentation accordingly

Make sure to have followed the contributing guidelines before submitting.

@aws-amplify-us-east-2
Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-4816.d3m3l2kee0btzx.amplifyapp.com


if (mr.codecInfo) {
const h264CodecInfo = WcmeCodecInfo.fromH264(
0x80,
Copy link
Copy Markdown
Contributor Author

@fnowakow fnowakow Mar 27, 2026

Choose a reason for hiding this comment

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

getIngressPayloadType is available in multistream connection, that we don't have access in mediaRequestManager

Should we delegate creating WcmeCodecInfo.fromAv1 and fromH264 in WCME/media-core?

Currently do update this values we either need to pass mediaconnection to mediaRequestManager (or proxy it like sendMediaRequestCallback - smth like getIngressPayloadTypeSupplier()) or update it when we have access to media connection (current changes)

Currently we also need to have imports for
CodecInfo - js-sdk encoding params for buildingAv1/H264Codec
[Av1/H264]Codec - jmp encoding params for building WcmeCodecInfo
WcmeCodecInfo - json-multistream class to build codecinfo in jmp message

This should be simplified in wcme so at this level (js-sdk) we don't need to use json-multistream classes and calculate payload type

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@k-wasniowski, any thoughts on this?

@edvujic edvujic added the validated If the pull request is validated for automation. label Apr 1, 2026
kind: 'video',
trimRequestsToNumOfSources: false,
// @ts-ignore - config coming from registerPlugin
enableAV1: this.config.enableAV1VideoSlides,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think we should use enableAv1? and across all other places.
Look that we have for example backendIpv6NativeSupport not backendIPV6NativeSupport. We don't use HTML, but rather Html semantic

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

refers to all occurences

degradationPreferences: {
maxMacroblocksLimit: 8192,
},
// !! TODO: this is a temporary config to enable AV1 video slides for testing purposes
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

We don't need this comment. I believe it's not for testing only, but we should keep this for longer period of time

@edvujic edvujic self-assigned this Apr 1, 2026
@edvujic edvujic assigned SomeBody16 and unassigned SomeBody16 and edvujic Apr 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

validated If the pull request is validated for automation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants