RFC 45-1: Add protocol in Outputs API and check service protocol in the "UI"#5104
RFC 45-1: Add protocol in Outputs API and check service protocol in the "UI"#5104tytan652 wants to merge 3 commits intoobsproject:masterfrom
Conversation
|
Since I re-written the RFC 45, this PR needed also a rewrite. So rewrite done, |
9ae4dec to
dc60332
Compare
04d4747 to
78d6fcb
Compare
83dd342 to
d375551
Compare
d375551 to
a0fe830
Compare
b49ae81 to
f7e1611
Compare
382aeff to
99a625c
Compare
1ecf4a9 to
2c69776
Compare
877a7ea to
4a38200
Compare
pkviet
left a comment
There was a problem hiding this comment.
Just read quickly the pr. Haven't tested it. I just have these comments.
e1fc5c1 to
d99e585
Compare
d99e585 to
2e054ec
Compare
|
Rebase and fix memory leaks by using |
|
Removed useless |
|
Add missing changes in the JSON Schema.
|
|
Improved |
|
Remove prefix related changes as it was done in the RFC. |
|
No longer enforce the "protocol" field in the JSON if the server URL is a RTMP(S) one. |
| .id = "ffmpeg_hls_muxer", | ||
| .flags = OBS_OUTPUT_AV | OBS_OUTPUT_ENCODED | OBS_OUTPUT_MULTI_TRACK | | ||
| OBS_OUTPUT_SERVICE, | ||
| .protocols = "HLS", |
There was a problem hiding this comment.
As described in voice discussions, I personally believe that using uppercase for these values does not align with common lowercase OBS implementations like the .encoded_video_codecs field. While I understand the desire to use the strings from this value directly in the UI, I personally believe that it would be better to uppercase convert these values in the UI and use a hash table if we someday get a protocol which has mixed case.
As of this comment, I'm not aware of any protocols which we officially support which use mixed case: RTMP, RTMPS, SRT, RIST, FTL, HLS, WHIP
There was a problem hiding this comment.
I personally believe that using uppercase for these values does not align with common lowercase OBS implementations like the .encoded_video_codecs field.
If you check #8090, you will see that the whole lowercase/uppercase situation on codecs is not aligned.
There was a problem hiding this comment.
I was drawing a parallel to codecs in regards to them being all lowercase, even though when presented to the user they are given in their correctly-capitalized form. I was not using it as an example of the uppercase-convert suggestion.
There was a problem hiding this comment.
even though when presented to the user they are given in their correctly-capitalized form
Technically we don't, we expose to the user encoders names or presets names.
If the server URL is not an RTMP(S) URL, the protocol field becomes required. The output field becomes required on non-RTMP(S) services to keep backward compatibility. Also skip service if the protocol is not available.
Description
This PR is about the RFC 45.
obs_output_infoand add protocols to outputs meant for servMotivation and Context
Part of the implementation of the RFC 45.
How Has This Been Tested?
Artifacts from Github actions will not much help with testing this PR since it build with all protocol support.
Types of changes
Checklist: