obsproject / obs-websocket

Remote-control of OBS Studio through WebSocket
GNU General Public License v2.0
3.9k stars 707 forks source link

SetStreamSettings not applying when switching from rtmp_common to rtmp_custom #378

Closed tt2468 closed 4 years ago

tt2468 commented 5 years ago
Issue type

Bug report

Description

When switching the settings type from rtmp_common to rtmp_custom (along with saving), the server responds as if the settings have changed, but they stay as rtmp_custom.

Steps to reproduce and other useful info
  1. Set the output stream to twitch, then set any stream key
  2. With the websocket, set the new type to rtmp_custom, along with a stream server and key
  3. The server will respond with the info you provided.
  4. Going into the gui, no info has changed.
  5. This is both after setting the save bool to true, and also after running the SaveStreamSettings event.
Technical information

I've even tried populating any combination of variables. Nothing has worked. This problem exists on any of the common services, not just twitch. When the rtmp type is already set to rtmp_custom, the settings will apply just fine. There is also a notable lack of documentation on the "settings" object.It is referenced but no examples or explanations are ever given.

artemjackson commented 4 years ago

Same, OBS 24.02, Mac OS 10.15.1

tt2468 commented 4 years ago

I think I may have found the issue. The libobs api call obs_service_create here looks like it should take STREAM_SERVICE_ID before requestType, yet the implementation in the various calls here appears to put requestType before STREAM_SERVICE_ID.

Example: service = obs_service_create(requestedType.toUtf8(), STREAM_SERVICE_ID, requestSettings, hotkeys); this