Skip to content

MediaStreamRecordingプロファイルのPOST record API のレスポンス必須属性について #6

@kunichiko

Description

@kunichiko

MediaStreamRecordingプロファイルに対応した iOS版のデバイスプラグインを開発しております。
HostプラグインのMediaStreamRecordingプロファイル実装のDPHostMediaStreamRecordingProfile.mなどを参考にしておりますが、そのうち、record APIの挙動について、仕様と実装の乖離があるようです。

まず、POST /gotapi/mediaStreamRecording/record の仕様としては以下を参照しています。

https://github.com/DeviceConnect/DeviceConnect-Spec/wiki/MediaStreamRecording#mediaStreamRecordingRecordPost

ここには、レスポンスの属性として、撮影動画(音声)のuriと pathが必須属性と書かれております。
作成中のプラグインでは動画の撮影が終了するまでuriやpathが決定できないため、この仕様を実現するためには、動画の撮影が終了するまでの間、HTTPリクエストの返却をせずに待機する必要があります。

しかし、上記 DPHostMediaStreamRecordingProfile.m の実装を見ますと、

  • 録画開始後、すぐにHTTPレスポンスを返却(OK)している
  • レスポンスとして、uriや pathは返却していない

という実装になっており、本仕様とは矛盾しております。

仕様通りに実装するためにはHTTPリクエストを待機させるしかないかとおもいますが、iOS版の DeviceConnect Managerは CocoaHTTPServerを利用して作られており、複数のHTTPリクエストを並行で処理することができません。そのため、recordの最中に stopを呼び出すようなことができず、アプリケーションとして成立しなくなってしまいます。

上記から、おそらく「uri、pathが必須」という仕様の方に問題があるのではと思いこちらに issueとして起案させていただきました。

ご確認のほど、どうぞよろしくお願いいたします。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions