RE: Bug 244016: Clicking "..." on a device control after encoding can cause a

"Eric Hyche" <[email protected]>
Newsgroups gmane.comp.multimedia.helix.devel
Organization RealNetworks, Inc.
Message-ID <006401c9f591$f185a360$d490ea20$@com>
Looks good.

=======================================
Eric Hyche ([email protected])
Principal Engineer
RealNetworks, Inc.


>-----Original Message-----
>From: [email protected] [mailto:[email protected]]
>Sent: Thursday, June 25, 2009 1:08 AM
>To: [email protected]; [email protected]
>Subject: CR: Bug 244016: Clicking "..." on a device control after encoding can cause a
>
>Synopsis
>========
>Bug 244016: Clicking "..." on a device control after encoding can cause a
>SDK error or unhandled exception.
>
>Branches: PRODUCER_13_0_RN and HEAD.
>Suggested Reviewer: Anyone.
>
>
>Description
>===========
>Noticed additional issue after previous fix.
>
>1. Certain capture dialogs cannot be displayed when preview is running.
>Fix was to attemp to Launch Capture dialog, if that failed then stop input
>and Launch Capture Dialog and start input.
>
>2. After Launching dialogs there was check for checking if job is ready to
>run.
>This is done by serializing job to buffer and recreating it from buffer,
>this results in video graph in capture filter failing to start.
>I am unable to determine reason for failure. Same call is not causing any
>issues when a new job is loaded. I am logging a new bug for this.
>Down side is if user set invalid argument through capture dialog job will
>still indicate it is ready to run though could fail when start encoding is
>called.
>
>3. Noticed additional issue that GUI is not re-reading the job after
>Launch Dialog call.
>Capture size is modified by dialog and is applied to job, but when start
>encoding is called GUI passes initial job which does not have capture
>size.
>
>
>Files Affected
>==============
>client/encodesvc/activex/ctrl/ProducerCtrl.cpp
>
>Testing Performed
>=================
>Tested capture dialogs.
>
>Performance Tests:
>- None
>
>Platforms Tested: win32-i386-vc7
>Build verified: win32-i386-vc7
>
>QA Hints
>========
>Please also test on machine with multiple capture cards.
>
>Index: ProducerCtrl.cpp
>===================================================================
>RCS file: /cvsroot/client/encodesvc/activex/ctrl/ProducerCtrl.cpp,v
>retrieving revision 1.3.2.2
>diff -u -r1.3.2.2 ProducerCtrl.cpp
>--- ProducerCtrl.cpp	23 Jun 2009 06:20:41 -0000	1.3.2.2
>+++ ProducerCtrl.cpp	25 Jun 2009 03:02:03 -0000
>@@ -1828,9 +1828,6 @@
>
>     res = LoadDeviceDialog( AUDIO_DEVICES, ulDeviceID, bstrDialogName );
>
>-    //Job could have changed by the device dialog, hence reset the
>IsReady flag.
>-    SetJobIsReadyFlag();
>-
>     return res;
> }
>
>@@ -1858,9 +1855,6 @@
>
>     res = LoadDeviceDialog( VIDEO_DEVICES, ulDeviceID, bstrDialogName );
>
>-    //Job could have changed by the device dialog, hence reset the
>IsReady flag.
>-    SetJobIsReadyFlag();
>-
>     return res;
> }
>
>@@ -1949,12 +1943,19 @@
>
>     if (SUCCEEDED(res))
>     {
>-	pDialogCtrl->LaunchDialog( iDialogID, m_hWnd);
>+	res = pDialogCtrl->LaunchDialog( iDialogID, m_hWnd);
>+	if (FAILED(res))
>+	{
>+	    stopInput();
>+	    res = pDialogCtrl->LaunchDialog( iDialogID, m_hWnd);
>+	    startInput();
>+
>+	}
>     }
>+
>
>     HX_RELEASE(pDialogCtrl);
>
>-
>     return res;
> }
>
>@@ -2573,9 +2574,6 @@
>         m_PreviewViewer.StopPreview();
>         m_PreviewViewer.SetJob(NULL);
>
>-        //UpdateCodecsInJob() might have modified job IsReady status.
>-        res = SetJobIsReadyFlag();
>-
>         // Set the new job, and setup the new previews
>         if (SUCCEEDED(res))
>         {
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.