[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-datatype-cvs
Subject:    [Datatype-cvs] avi/fileformat aviffpln.cpp,1.21,1.22
From:       henryxing () helixcommunity ! org
Date:       2010-07-27 4:09:28
Message-ID: 201007270409.o6R49NaX011689 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/datatype/avi/fileformat
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv12696

Modified Files:
	aviffpln.cpp 
Log Message:
·¢¼þÈË: Qiang Luo
·¢ËÍʱ¼ä: 2010Äê7Ô 27ÈÕÐÇÆÚ¶þ 1:48
ÊÕ¼þÈË: Henry Xing
³­ËÍ: datatype-dev@helixcommunity.org; android-port-dev@helixcommunity.org; Sheldon \
Fu; Charles Chen Ö÷Ìâ: Re: ´ð¸´: [Android-port-dev] new fix for bug10370 no audio \
when seek before start to play Henry,

Please make code indent size to be 4.  Use space instead of tabs.  

The fix looks good to me.  Please merge your change to head and hxclient_3_1_0_atlas \
branches.

Qiang

On 7/20/2010 9:50 PM, Henry Xing wrote: 
  Update the fix,  add the determination whether is mp3 audio or not,  only the audio \
is mp3 format,  read the first packet.

  henry


------------------------------------------------------------------------------

  ·¢¼þÈË: android-port-dev-bounces@lists.helixcommunity.org \
[mailto:android-port-dev-bounces@lists.helixcommunity.org] ´ú±í Henry Xing  ·¢ËÍʱ¼ä: \
2010Äê7Ô 20ÈÕ 17:47  ÊÕ¼þÈË: datatype-dev@helixcommunity.org; \
android-port-dev@helixcommunity.org  Ö÷Ìâ: [Android-port-dev] new fix for bug10370 no \
audio when seek before start to play



  Modified by: hxing@real.com



  Date: 07/20/2010



  Project: RealPlayer for Android Smartphones



  Bug Number: 10370



  Bug URL: https://bugs.helixcommunity.org/show_bug.cgi?id=10370 



  Synopsis: these is no audio after resuming playback for avi fileformat.



  Overview: before start to play, seek was invoked. But in current code logic, only \
after start to play, the audio packet received, then the value of sample per frame \
was initialized, so in this scenario no seek location was find out, no audio output. \
This issue happen for avi media file include mp3 audio. 

  Attached fix is that before seek action to read first audio packet if sample/frame \
was not initialized. Then to mp3 audio track, we can get seek location, resume to \
play successfully.

  Files Added:

  None 



  Files Modified:

  /datatype/avi/fileformat/avistrm.cpp

  /datatype/avi/fileformat/pub/avistrm.h

  /datatype/avi/fileformat/aviffpln.cpp

  /datatype/avi/fileformat/pub/aviffpln.h



  Image Size and Heap Use impact (Client -Only):

  None



  Platforms and Profiles Affected:

  Platform: android-donut3230-arm-qsd_8x50



  Profile: helix-client-android-full



  Distribution Libraries Affected:

  None



  Distribution library impact and planned action:

  None 



  Platforms and Profiles Build Verified:

  Platform: android-donut3230-arm-qsd_8x50

  Profile: helix-client-android-full 



  Platforms and Profiles Functionality verified:

  Platform: android-donut3230-arm-qsd_8x50

  Profile: helix-client-android-full



  Branch: hxclient_3_6_1_atlas 



  Copyright assignment: I am a RealNetworks employee or contractor





  Best Regards



  henry





Index: aviffpln.cpp
===================================================================
RCS file: /cvsroot/datatype/avi/fileformat/aviffpln.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- aviffpln.cpp	27 May 2010 16:25:56 -0000	1.21
+++ aviffpln.cpp	27 Jul 2010 04:09:25 -0000	1.22
@@ -193,6 +193,7 @@
 
 CAVIFileFormat::CAVIFileFormat()
     : m_bSeekPriming(FALSE)
+    , m_bSeekPending(FALSE)
     , m_bLocalPlayback(FALSE)
     , m_usStreamTarget(0)
     , m_pIndex(NULL)
@@ -722,6 +723,16 @@
     for (UINT16 i = 0; i < m_streamArray.GetSize(); ++i)
     {
         CAVIStream* pStream = (CAVIStream*) m_streamArray[i];
+        if (!pStream->ReadInitialized()&&pStream->IsMp3())
+        {
+            m_bSeekPending = TRUE;
+            m_usStreamTarget = i;
+            m_state = AS_GetStreamFilePending;
+            const char* szFilename;
+            m_pFile->GetFilename(szFilename);
+            m_pFileSystemManager->GetRelativeFileObject(m_pFile, szFilename);
+            m_bSeekPending = FALSE;
+        }
         pStream->Seek(ulOffset);
     }
 
@@ -2090,7 +2101,10 @@
     else
     {
         m_state = AS_Ready;
-        ScanState();
+        if(!m_bSeekPending)
+        {
+            ScanState();
+        }
     }
 }
 


_______________________________________________
Datatype-cvs mailing list
Datatype-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/datatype-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic