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

Potentially transmit error codes #141

Open
PCaponetti opened this issue Sep 19, 2024 · 2 comments
Open

Potentially transmit error codes #141

PCaponetti opened this issue Sep 19, 2024 · 2 comments

Comments

@PCaponetti
Copy link
Collaborator

SVTA is looking to understand a common set of error codes, and that could be a good basis for us to transmit them via CMCD. This is if SVTA does not come up with a way of transmitting the codes as well.

@sebastian-siepe
Copy link

Do we know the status and current progress of the SVTA activity? I see that @ablasgen and @wilaw are listed as contributors. The project is aimed to be completed by May 2025, which may be too late for integration.

There is a significant advantage in reporting error information via CMCDv2. One practical use case is a CMCDv2-informed Content-Steering server, which might react differently if it identifies that a stream is facing a video decoding issue versus a CDN delivery problem.

If the SVTA work cannot be adopted for any reason (e.g., it’s not ready, overly granular, etc.), defining another set of error codes in CMCDv2 might lead to complications, as it could result in two competing standards in the future.

However, defining an error category field, which provides a general classification of the error, could be a simpler and more effective way to understand streaming issues and guide corrective actions.

As discussed in this thread, a possible set of error categories could be:

Error Category Description
Network Error Content not received
Delivery Error HTTP status code ≥ 400
Video Decode Error Codec not supported, corrupt file
Audio Decode Error Codec not supported, corrupt file
Invalid Playlist/Manifest Corrupt manifest
Stale Playlist Playlist not updated
Internal Error Player-related error
DRM Error DRM-related error

@PCaponetti
Copy link
Collaborator Author

Will: Given there is work going on in this area and it won't be done for some time, we might want to define the mechanism only, and not the content.
Alex G: should we define a namespace for error codes too then? So we don't bind CMCD for a particular standard?
Will: too hard to keep the list updated, no registry
Paul: only having the string only allows for use cases where the producer == consumer, but if we want third parties (CDN) to be able to understand the error it needs to be standardized by us or others.
Paul: Also must make sure errors are attributed properly in request mode. Maybe only allow in response or state interval?

Added temporary language:

A string defining an error code produced by the player. The namespace and formatting of this error code is left to the application. Use of standardized error codes is recommended. 

Will come back to this

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants