You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.
This occurs because the encoder lock in the camera class is non-re-entrant; the camera class acquires this lock when starting a capture / recording but once the encoder class encounters the unsupported encoding it raises an exception. In doing so, it calls the stop() method which attempts to re-acquire the lock within the same thread and the hang occurs.
This could be fixed by moved the lock acquisition down a line in the stop() method but I'm not sure if this introduces a race condition ... needs more testing.