Skip to content

Possible deadlock on playback #9

@lov

Description

@lov

Hi guys,

in DeckLinkDevice+Playback.mm file there are 3 methods, that using the internal serial playbackQueue synchronously:

  • setPlaybackActiveVideoFormatDescription
  • setPlaybackActiveAudioFormatDescription
  • setPlaybackActiveKeyingMode

There is a possible problem of these calls: if you are calling any them on the main thread, and the execution is longer than a few milliseconds, this could deadlock the main thread. On the other hand, getting this calls async should not introduce any internal problems, since playbackQueue will maintain order anyway. However, this would need change of the methods, because they have a return value.

By the way, I see this issue in real life, although it is hardly reproducible - but could be happening when a device disconnects and reconnects during playback on my end.

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