[Web API type definition issue] VideoEncoderConfig interface should have hevc attribute

Đang mở
#2,025 7 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức phù hợp với người mới
48/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
typescript
Lĩnh vực
tooling

Hướng nghiên cứu

Bắt đầu bằng cách kiểm tra removedTypes.jsonc và các bài kiểm thử liên quan đến VideoEncoderConfig. Xóa phần loại trừ thành viên hevc, thêm các định nghĩa HevcEncoderConfig và HevcBitstreamFormat được yêu cầu, sau đó cập nhật các bài kiểm thử bị ảnh hưởng để các định nghĩa DOM TypeScript được tạo ra bao gồm thuộc tính mới.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

lib.d.ts bug
Summary

VideoEncoderConfig interface is missing hevc attribute

Expected vs. Actual Behavior

Modern browsers widely support hevc codec for video encoding and decoding https://developer.mozilla.org/en-US/docs/Web/Media/Guides/Formats/Video_codecs#hevc_h.265. Supported on Chrome 107+, Edge 18+, Firefox 120+, Opera 94+, Safari 11+

The lack of hevc attribute for video encoder means that users cannot change the format of encoded video to e.g. annex-b which is favoured for realtime video streaming.

VideoEncoder interface looks now following:

interface VideoEncoderConfig {
    alpha?: AlphaOption;
    avc?: AvcEncoderConfig;
    bitrate?: number;
    bitrateMode?: VideoEncoderBitrateMode;
    codec: string;
    contentHint?: string;
    displayHeight?: number;
    displayWidth?: number;
    framerate?: number;
    hardwareAcceleration?: HardwareAcceleration;
    height: number;
    latencyMode?: LatencyMode;
    scalabilityMode?: string;
    width: number;
}

Should be:

interface VideoEncoderConfig {
    alpha?: AlphaOption;
    avc?: AvcEncoderConfig;
    bitrate?: number;
    bitrateMode?: VideoEncoderBitrateMode;
    codec: string;
    contentHint?: string;
    displayHeight?: number;
    displayWidth?: number;
    framerate?: number;
    hardwareAcceleration?: HardwareAcceleration;
    height: number;
    hevc?: HevcEncoderConfig;
    latencyMode?: LatencyMode;
    scalabilityMode?: string;
    width: number;
}

interface HevcEncoderConfig {
    format?: HevcBitstreamFormat;
}

type HevcBitstreamFormat = "annexb" | "hevc";

Removing following from removedTypes.jsonc and fixing tests should alleviate this:

"VideoEncoderConfig": {
    "members": {
        "member": {
            "hevc": null // Blink only as of 2023-03
        }
    }
}
Playground Link

No response

Browser Support
  • This API is supported in at least two major browser engines (not two Chromium-based browsers).
Have Tried The Latest Releases
  • This issue applies to the latest release of TypeScript.
  • This issue applies to the latest release of @types/web.
Additional Context

No response

Ngôn ngữ chính
TypeScript
Star
740
Fork
474
Merge trung bình
2 ngày 8 giờ
Pull request đã merge (30 ngày)
15

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/TypeScript-DOM-lib-generator

Tất cả issue của microsoft/TypeScript-DOM-lib-generator

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.