Ticket #100 (closed defect: fixed)

Opened 2 years ago

Last modified 11 months ago

Matroska importer ignores thread error

Reported by: roine@users.sf.net Assigned to:
Priority: normal Milestone: 1.1
Component: matroska Version:
Severity: normal Keywords:
Cc:

Description

If Matroska importer is run in a separate thread, and one component fails with a -2098 componentNotThreadSafeErr, the importer just logs the error and keeps importing, causing a broken movie QuickTime and the calling application will crash on.

Correct behavior should be to fail import with a -2098 so the calling application can re-try the operation on the main thread.

See technote TN2125

Attachments

MatroskaImportPrivate.diff (0.7 kB) - added by roine on 01/08/08 13:08:44.

Change History

05/02/07 09:54:08 changed by tick

  • milestone set to 1.1.

06/11/07 16:09:44 changed by dconrad

  • status changed from new to closed.
  • resolution set to fixed.

(In [564]) Set an autorelease pool in MatroskaTrack::FinishTrack?() so we don't leak sub lines. Make sure to destroy tracks if we fail at creating their media. Pass errors in movie setup up correctly to be returned. Should fix #100.

01/08/08 13:08:44 changed by roine

  • attachment MatroskaImportPrivate.diff added.

01/08/08 13:16:44 changed by roine

Confirmed works, except for one bug (see MatroskaImportPrivate?.diff) The current code always returns noErr since DisposeMovieTrack? clears the previous error.

NewTrackMedia? seems to fail with -2098 (componentNotThreadSafeErr) when adding the matroska chapters (likely because they are not just datarefs). It seems if the MKV is chapterless a threaded import will succeed.

01/14/08 07:22:15 changed by astrange

  • status changed from closed to reopened.
  • resolution deleted.

01/14/08 07:29:02 changed by astrange

  • status changed from reopened to closed.
  • resolution set to fixed.

(In [766]) DisposeMovieTrack?() clears the movie error, so save it first. (closes #100) Patch by Roine Gustafson