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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions