Почему мой QuickTime не Компонента распознанный iMovie '08?
Q: Мой Компонент Импорта фильма в формате QuickTime поддержка пользовательского формата файла работает с iMovie HD, но игнорируется iMovie '08. Какие потребности быть сделанным для имения iMovie '08 распознают его?
A: Мой Компонент Импорта фильма в формате QuickTime поддержка пользовательского формата файла работает с iMovie HD, но игнорируется iMovie '08. Какие потребности быть сделанным для имения iMovie '08 распознают его?
iMovie '08 требует что все компоненты, поддерживающие Ваши носители (Средства импорта ('eat '), Средства экспорта ('spit'), Компрессоры ('imco'), Декомпрессоры ('imdc') и т.д.), ориентированы на многопотоковое исполнение для приложения, чтобы распознать и использовать их. Если iMovie попросят работать с содержанием, требующим использования компонента, который не ориентирован на многопотоковое исполнение, то это проигнорирует то содержание.
Для обсуждения и некоторых подсказок относительно того, как сделать Ваш компонент QuickTime ориентированным на многопотоковое исполнение, посмотрите Техническое примечание TN2125, 'Ориентированное на многопотоковое исполнение программирование в QuickTime'.
Как только Вы успешно сделали свой компонент ориентированным на многопотоковое исполнение, удостоверяются, что установили cmpThreadSafe отметьте в своих флагах глобального компонента. Это указывает к QuickTime (и приложения, такие как iMovie), что Ваш компонент может безопасно использоваться от фоновых потоков.
Кроме того, если Вы реализовали Компонент Экспорта ('spit'тип компонента), это должно поддерживать MovieExportFromProceduresToDataRef селектор и имеет canMovieExportFromProcedures флаг компонента установлен.
Эти требования являются новыми с iMovie '08.
Ориентированный на многопотоковое исполнение Компонент перечисления 1 и экспорт от флагов процедур.
cmpThreadSafe = 1L << 28 // Component is thread-safe canMovieExportFromProcedures = 1 << 15 // Exporter implements MovieExportFromProceduresToDataRef |
Перечисление 2 , добавляющее cmpThreadSafe флаг.
// extended 'thng' template
#define thng_RezTemplateVersion 1
#include <Carbon/Carbon.r>
#include <QuickTime/QuickTime.r>
resource 'thng' (256) {
kSomeQTComponentType,
'DEMO',
'DEMO',
0,
0,
0,
0,
'STR ',
128,
'STR ',
129,
0,
0,
kMyComponentVersion,
// Registration Flags
componentHasMultiplePlatforms | kOtherComponentRegistrationFlags,
0,
{
// Add Thread Safe Flag
kMyComponentFlags | cmpThreadSafe, //*** ThreadSafe Flag Here
'dlle',
512,
platformPowerPCNativeEntryPoint
};
}; |
История версии документа
| Дата | Примечания |
|---|---|
| 03.10.2007 | Новый документ, обсуждающий, почему iMovie '08 может проигнорировать третью сторону Компоненты QuickTime. |