I highlighted a potential bug on this list a little while ago and was
directed to the bug reporter. I logged the bug, got a question back,
responded, and it's now been a while since I've heard anything back. Since
this list seems to get quite a bit of attention from those at Apple, I'm
going to ask about it here...
Problem ID: 4495049 - Export Crash using Quicktime Player COM Object.
Is it a bug, a user problem, a "feature", or something else? I have copied
the text below for those on the list that are interested.
Thanks,
Matthew
--------------------------------
29-Mar-2006 10:59 AM Matthew Carlisle:
SUMMARY:
I am using the Quicktime Player Library COM object from C#, using the Visual
Studio 2005 IDE. I have successfully used the COM object to export files,
show export settings dialogs, play files, etc. Therefore I believe that
there is not an integration problem with my use of this library.
The problem I am experiencing is that I cannot set the "Settings" property
of an exporter object that I have created through the Player Library - I get
a COM Exception.
STEPS TO REPRODUCE:
Here is a C# code snippet that will reproduce the problem. I am using
Visual Studio 2005 and have added the appropriate references to my project.
// load up and initialize Quicktime
QuickTimePlayerLib.QuickTimePlayerApp qtPlayerapp;
QuickTimePlayerLib.QuickTimePlayer qtPlayer;
QTOLibrary.QTQuickTime qt;
QTOLibrary.QTExporters exporters;
QTOLibrary.QTExporter exp;
qtPlayerapp = new QuickTimePlayerLib.QuickTimePlayerApp();
qtPlayerapp.Players.Add(Application.StartupPath + "\\testvideo.mov");
qtPlayer = qtPlayerapp.Players[qtPlayerapp.Players.Count];
The very last line in the code snippet above crashes with a COM exception as
detailed below:
System.Runtime.InteropServices.COMException was unhandled
Message="An event was unable to invoke any of the subscribers (Exception
from HRESULT: 0x80040201)"
Source="Interop.QTOLibrary"
ErrorCode=-2147220991
StackTrace:
at QTOLibrary.QTExporterClass.set_Settings(CFObject pVal)
at preoject.Form1.button2_Click(Object sender, EventArgs e) in
Z:\project\Form1.cs:line 58
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons
button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at
System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&
m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd,
Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&
msg)
at
System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32
dwComponentID, Int32 reason, Int32 pvLoopData)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32
reason, ApplicationContext context)
at
System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason,
ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Quicktime_Batch_processor.Program.Main() in
Z:\Storage\SpexMobile\Development\Quicktime Batch processor\Quicktime Batch
processor\Program.cs:line 17
at System.AppDomain.nExecuteAssembly(Assembly assembly, String[]
args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence
assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
Similar code, using the exact same XML string for the settings, works using
the Active-X control COM object (i.e. not the player). However, I cannot
use the regular COM control because it is crippled by the lack of support
for AAC and AMR which makes is useless for most formats you want to export
to these days, unless you have tens of thousands of dollars a year to
license the appropriate technologies for one installation...
The workaround I have in place is to not programmatically set the exporter
settings, and manually set them each and every time I wish to do an export.
It seems to me that there is a bug somewhere or perhaps a "feature" that
makes this happen.
I am happy to answer more questions if you would like me to help you look
into this problem
Thanks.
Matthew
07-Apr-2006 07:53 AM Matthew Carlisle:
The problem occurs regardless of the export format. I am aware of the
limitation with the regular COM object in that it cannot export AMR and AAC
due to licensing. However, in *that* situation, the export works but the
audio is just missing.
This issue is different and relates to the Quicktime *Player* COM object.
In this case, I am controlling the Quicktime Pro Player.
22-May-2006 02:27 PM Matthew Carlisle:
Any progress on bug?
Is it a bug? User issue?
_______________________________________________
Do not post admin requests to the list. They will be ignored.
QuickTime-API mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quicktime-api/email@hidden