Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug Reporter



Mr Apple,

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];

qt = qtPlayer.QTControl.QuickTime;
exporters = qt.Exporters;
exporters.Add();
exp = exporters[exporters.Count];
exp.ShowProgressDialog = true;
exp.SetDataSource(qtPlayer.QTControl.Movie);
exp.DestinationFileName = Application.StartupPath + "\\testvideooutput.mov";
exp.TypeName = type2combobox.SelectedItem.ToString();

QTOLibrary.CFObject cf = new QTOLibrary.CFObject();
cf.XML = xmlconfig.claro1;
exp.Settings = cf;

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

This email sent to email@hidden
References: 
 >Re: Converting mp3 audio with QTKit (From: Tim Monroe <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.