.streaming.start fails when .replays.turnOn() is already set by another app

Issue Description: cannot use .streaming.start if a different app already started .replays.turnOn()
Steps to reproduce: try using streaming.start while Outplayed is already in the background (and a targeted game is RUNNING).
Impact for my app: low-mid
Do you currently have a workaround? kinda?

in case we try to call .streaming.start (that’s the api we chose to use to record entire games in one big chunk) and outplayed is running in the background on the same game - we will receive an error on .start with
{“status”:“error”,“success”:false,“error”:“Cannot stream while recording.”}

it seems it works the same the other way around as if I do a “dry recording” - just calling start+stop+delete (if anything was created)" right on game launch - i see Outplayed reporting to the user “outplayed cannot capture bla bla” - and we (Predator) can go on recording.

looks like they are both fighting for the same resource in a little race :slight_smile:
but since Predator only calls .start on match start - and outplayed starting to capture on GAME launch
we lost the race 100% of the times…

attached the logs of Lian from the QA team as his setup was the first to show this =)
reproduced easily on my setup once I installed Outplayed.

can see this issue happening on:
2020-11-11 16:56:48,050

Just to be clear, i am not 1000000% sure that Outplayed actually uses .replays.turnOn() - going over the logs makes me believe that… but could be something else :X

OverwolfLogs_2020-11-11_17-09-50.zip (3.8 MB)

Please reproduce and attach a zip package of your OW client logs
Please mention the time of the event so we can find it easily in the logs

@boazrl Hey,

Currently, two streaming app can not record in parallel using the streaming API. You can deal with that in various ways: you can inform the user that another streaming app is working, use other capture API, etc.

Hey @eransharv, did anything change to resolve this conflict or is anything on the horizon for that?

We are continually improving a lot of internals in the API. But yes, we still have the parallel issue, which is challenging. I will discuss that with the team and let you know.

Currently you have several options:

  1. When the user installs your app, notify him that if he already installed other capture apps - a conflict can happen and it’s recommend to stop the other caprure apps.
  2. If you get an error - notify the user to stop the other capture app.
  3. gracefully fail to the reply API…