[Common-cvs] include hxiids.h, 1.132.2.16.2.15, 1.132.2.16.2.16 hxformt.h, 1.10, 1.10.84.1

[Common-cvs] include hxiids.h, 1.132.2.16.2.15, 1.132.2.16.2.16 hxformt.h, 1.10, 1.10.84.1

xzhao at helixcommunity.org xzhao at helixcommunity.org
Fri Jan 20 01:55:26 UTC 2012


Update of /cvsroot/common/include
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv8242

Modified Files:
      Tag: hxclient_3_6_1_atlas
	hxiids.h hxformt.h 
Log Message:
Bug 14365:  Fix MKV memory leak
> * make a new interface to let FF know core's subscription;
> * disable the queue of unactive track, so that the memory footprint is under control
> * flush old track queue and re-fill new track queue when switch happens;
> * Some minor memory leak as I said in previous mail.


Index: hxformt.h
===================================================================
RCS file: /cvsroot/common/include/hxformt.h,v
retrieving revision 1.10
retrieving revision 1.10.84.1
diff -u -d -r1.10 -r1.10.84.1
--- hxformt.h	6 Jul 2007 20:43:41 -0000	1.10
+++ hxformt.h	20 Jan 2012 01:55:23 -0000	1.10.84.1
@@ -1146,6 +1146,42 @@
     STDMETHOD(FindFileFormat) (THIS_ REF(IHXFileFormatObject*) rpFileFormat) PURE;
  };
 
+/****************************************************************************
+ * 
+ *  Interface:
+ * 
+ *     IHXTrackSubscribe
+ * 
+ *  Purpose: In case of multiple audio/subtitle tracks exist in one file, FF 
+ *  needs to be notified about Core's subscription, such as select stream 1 
+ *  (English audio) instead of stream 3 (Chinese audio)
+ *  
+ *  Note: This interface can also be used to notify Core's first selection 
+ *  When playing starts. If the old stream number is the 0xFFFF, then it means
+ *  first time selection, no need to handle the old stream then.
+ * 
+ *  IID_IHXFileFormatFinder:
+ * 
+ *      {cb6fc82d-67e2-45e2-98e9-5ec36f53ef3e}
+ * 
+ */
+DEFINE_GUID(IID_IHXTrackSubscribe, 0xcb6fc82d, 0x67e2, 0x45e2,
+            0x98, 0xe9, 0x5e, 0xc3, 0x6f, 0x53, 0xef, 0x3e);
+
+#undef  INTERFACE
+#define INTERFACE IHXTrackSubscribe
+
+DECLARE_INTERFACE_(IHXTrackSubscribe, IUnknown)
+{
+    // IUnknown method
+    STDMETHOD(QueryInterface)   (THIS_ REFIID riid, void** ppvObj) PURE;
+    STDMETHOD_(ULONG32,AddRef)  (THIS) PURE;
+    STDMETHOD_(ULONG32,Release) (THIS) PURE;
+
+    // IHXTrackSubscribe methods
+    STDMETHOD(SetTrackActive)   (THIS_ UINT16 unStrmNum, HXBOOL bActive) PURE;
+};
+
 #include "hxcomptr.h"
 DEFINE_SMART_PTR(IHXFileFormatObject)
 DEFINE_SMART_PTR(IHXBroadcastFormatObject)
@@ -1166,5 +1202,6 @@
 DEFINE_SMART_PTR(IHXSeekByPacket)
 DEFINE_SMART_PTR(IHXSeekByPacketResponse)
 DEFINE_SMART_PTR(IHXFileFormatFinder)
+DEFINE_SMART_PTR(IHXTrackSubscribe)
 
 #endif  /* _HXFORMT_H_ */

Index: hxiids.h
===================================================================
RCS file: /cvsroot/common/include/hxiids.h,v
retrieving revision 1.132.2.16.2.15
retrieving revision 1.132.2.16.2.16
diff -u -d -r1.132.2.16.2.15 -r1.132.2.16.2.16
--- hxiids.h	20 Dec 2011 06:23:33 -0000	1.132.2.16.2.15
+++ hxiids.h	20 Jan 2012 01:55:23 -0000	1.132.2.16.2.16
@@ -816,6 +816,7 @@
 
 DEFINE_GUID_ENUM(IID_IHXSyncFileFormatObject,   0x00000F0C, 0x901, 0x11d1, 0x8b, 0x6, 0x0, 0xa0, 0x24, 0x40, 0x6d, 0x59)
 DEFINE_GUID_ENUM(IID_IHXFileFormatFinder, 0x5d137b92, 0x987b, 0x4faf, 0x9a, 0xdf,0xd5, 0xa0, 0x2e, 0x39, 0x9d, 0xef)
+DEFINE_GUID_ENUM(IID_IHXTrackSubscribe,   0xcb6fc82d, 0x67e2, 0x45e2, 0x98, 0xe9, 0x5e, 0xc3, 0x6f, 0x53, 0xef, 0x3e)
 #if defined(HELIX_FEATURE_ASF_FILEFORMAT_RTSP)
 #include "hxasfiids.h"
 #endif 




More information about the Common-cvs mailing list
 

Site Map   |   Terms of Use   |   Privacy Policy   |   Contact Us

Copyright © 1995-2007 RealNetworks, Inc. All rights reserved. RealNetworks and Helix are trademarks of RealNetworks.
All other trademarks or registered trademarks are the property of their respective holders.