THETA Z1 WebAPI Issue in mobile app for plugin start


We have a plugin that works with the ricoh theta z1. it was working fine when we were testing, then suddenly we realized that sometimes it does not work as expected. Upon checking further we found that the api we were using to boot the plugin was failing. Instead of calling the api directly from our ios app, we tried another app named api tester that just lets you test api calls, it failed there as well. After a few tries, it started working from our ios app, without us making any changes. we realized there is nothing wrong with our ios app, it is the camera api to boot the plugin that sometimes works, sometimes doesn’t as it behaved the same way even with the api tester app. Sometimes the error we get is

"Error: FormatException: Unexpected end of input (at character 1)"

Sometimes we get

Response status code: 400

While sometimes it works, it boots the plugin. These all three different responses are with the same input, we just kept trying the same api over and over without making any changes and we get a variety of these responses randomly for the same input. Any idea what might be happening?
Thank you in advance @craig

Please confirm:

  • you are using camera._pluginControl from an iOS app to start the plugin
  • as a repeatable test, you are using the same API to start the plugin from an iOS app called API tester
  • you are using a RICOH THETA Z1 with firmware 3.10.2

Please confirm that your repeated tests show inconsistent camera behavior. There are three types of responses:

  1. Error: FormatException: Unexpected end of input (at character 1)
  2. Response status code: 400
  3. camera boots

Have you tried the API with a computer using a curl script?

During the inconsistent plugin start condition, do other APIs work from the mobile app to camera?

In addition to this forum, can you submit the unexpected camera API behavior as a GitHub issue?

I’ll also submit it as a community report.

Apologies for the delayed response, we eventually figured out it was because some api stop working while the plugin is active unless those api are handled from the plugin as well. That was the reason behind this, if the plugin is active, some native camera api stop working if we had not explicitly handled them from the plugin, but the api from the plugin worked fine.

Are you opening and closing the internal camera application (the app from ricoh that runs inside the camera to take the picture) per the documentation?

theta-api-specs/ricoh-theta-plugin/ at main · ricohapi/theta-api-specs · GitHub

You need to close the plugin.

theta-api-specs/ricoh-theta-plugin/ at main · ricohapi/theta-api-specs · GitHub