diff --git a/Bin/C#/EasyPlayer-RTSP.Client.exe b/Bin/C#/EasyPlayer-RTSP.Client.exe index 3dd3b2b..ef75f9a 100644 Binary files a/Bin/C#/EasyPlayer-RTSP.Client.exe and b/Bin/C#/EasyPlayer-RTSP.Client.exe differ diff --git a/Bin/C#/EasyPlayer-RTSP.Client.vshost.exe b/Bin/C#/EasyPlayer-RTSP.Client.vshost.exe index 681ab77..c0dfecc 100644 Binary files a/Bin/C#/EasyPlayer-RTSP.Client.vshost.exe and b/Bin/C#/EasyPlayer-RTSP.Client.vshost.exe differ diff --git a/Bin/C#/EasyPlayer-RTSP.NetSDK.dll b/Bin/C#/EasyPlayer-RTSP.NetSDK.dll index 573ae3d..829696e 100644 Binary files a/Bin/C#/EasyPlayer-RTSP.NetSDK.dll and b/Bin/C#/EasyPlayer-RTSP.NetSDK.dll differ diff --git a/Bin/C#/Lib/libEasyPlayer-RTSP.dll b/Bin/C#/Lib/libEasyPlayer-RTSP.dll index a90146d..3621d43 100644 Binary files a/Bin/C#/Lib/libEasyPlayer-RTSP.dll and b/Bin/C#/Lib/libEasyPlayer-RTSP.dll differ diff --git a/Bin/C++/EasyPlayer-RTSP.exe b/Bin/C++/EasyPlayer-RTSP.exe deleted file mode 100644 index 4ae61c3..0000000 Binary files a/Bin/C++/EasyPlayer-RTSP.exe and /dev/null differ diff --git a/Bin/C++/EasyPlayer-RTSPWebActiveX.ocx b/Bin/C++/EasyPlayer-RTSPWebActiveX.ocx deleted file mode 100644 index d86c1ef..0000000 Binary files a/Bin/C++/EasyPlayer-RTSPWebActiveX.ocx and /dev/null differ diff --git a/Bin/C++/libEasyPlayer-RTSP.dll b/Bin/C++/libEasyPlayer-RTSP.dll deleted file mode 100644 index 06cfda5..0000000 Binary files a/Bin/C++/libEasyPlayer-RTSP.dll and /dev/null differ diff --git a/Bin/C++/libEasyPlayer-RTSP.lib b/Bin/C++/libEasyPlayer-RTSP.lib deleted file mode 100644 index 444709e..0000000 Binary files a/Bin/C++/libEasyPlayer-RTSP.lib and /dev/null differ diff --git a/Bin/C++/ocx test.htm b/Bin/C++/ocx test.htm index e919ba4..4e8fb58 100644 --- a/Bin/C++/ocx test.htm +++ b/Bin/C++/ocx test.htm @@ -1,183 +1,79 @@ - - - - - EasyPlayer Plugin Example - - - - + + +EasyPlayer + + + + +
+EasyPlayer Plugin Example +

+ + + + + + +Ϣ
+RTSP URL +RenderFormat +룺 +Ӳ룺 +rtpovertcp +
+棺 + +ʾϢ
+ + + + + +
+ + \ No newline at end of file diff --git a/Bin/C++/ocx_mutiplayer.html b/Bin/C++/ocx_mutiplayer.html index 30ed1ef..fc1106e 100644 --- a/Bin/C++/ocx_mutiplayer.html +++ b/Bin/C++/ocx_mutiplayer.html @@ -1,483 +1,84 @@ - + + +EasyPlayer + - - - - -
- - -
- - -
- RTSP URL: - -
-
-
- 用户名: - -
-
- 密码: - -
-
- RenderFormat: - -
-
- 缓存: - -
-
-
-
- RTP Over TCP: - - -
-
- 按比例显示: - - -
-
- 采用硬解码 - - -
-
- 播放声音: - - -
-
- 显示码率信息 - - -
-
- -
- - - -
-
-
- - -
- RTSP URL: - -
-
-
- 用户名: - -
-
- 密码: - -
-
- RenderFormat: - -
-
- 缓存: - -
-
-
-
- RTP Over TCP: - + function startplay(){ + + var url = document.getElementById("url").value; + var rendertype = document.getElementById("rendertype").value; + var name= document.getElementById("name").value; + var password = document.getElementById("password").value; + var harddecode = document.getElementById("harddecode").value; + var rtpovertcp = document.getElementById("rtpovertcp").value; -
-
- 按比例显示: - - -
-
- 采用硬解码 - - -
-
- 播放声音: - - -
-
- 显示码率信息 - - -
-
- -
- - - -
-
-
- - -
- RTSP URL: - -
-
-
- 用户名: - -
-
- 密码: - -
-
- RenderFormat: - -
-
- 缓存: - -
-
-
-
- RTP Over TCP: - + start(url, rendertype, name, password, harddecode,rtpovertcp); + //alert(url+";"+rendertype+";"+name+";"+password); + } -
-
- 按比例显示: - - -
-
- 采用硬解码 - - -
-
- 播放声音: - - -
-
- 显示码率信息 - - -
-
- -
- - - -
-
-
- - -
- RTSP URL: - -
-
-
- 用户名: - -
-
- 密码: - -
-
- RenderFormat: - -
-
- 缓存: - -
-
-
-
- RTP Over TCP: - + function stopplay(){ + //alert("Close()!!!!!"); + for(var i = 1; i <= 4; ++i){ + var obj = document.getElementById("obj"+i); + obj.Close(); + } + } -
-
- 按比例显示: - - -
-
- 采用硬解码 - - -
-
- 播放声音: - - -
-
- 显示码率信息 - - -
-
- -
- - - -
-
- - - - - - - - - - - - - - -
- - - \ No newline at end of file + function start(url, rendertype, name, password, harddecode){ + for(var i = 1; i <= 4; ++i){ + var obj = document.getElementById("obj"+i); + obj.Start(url, rendertype, name, password, harddecode); + config(obj); + } + } + + + + + +
+EasyPlayer Plugin muti-player Example +

+ + + + + + + + + + +

+RTSP URL +RenderFormat +룺 +Ӳ룺 +rtpovertcp + +
+棺 + +ʾϢ
+ + + + + + +
+ + \ No newline at end of file diff --git a/Src/C#/Client/EasyPlayer-RTSP.Client.csproj b/Src/C#/Client/EasyPlayer-RTSP.Client.csproj index f5fbb7a..2234548 100644 --- a/Src/C#/Client/EasyPlayer-RTSP.Client.csproj +++ b/Src/C#/Client/EasyPlayer-RTSP.Client.csproj @@ -29,10 +29,10 @@ 4 - AnyCPU + x86 pdbonly true - bin\Release\ + ..\..\..\Bin\C#\ TRACE prompt 4 diff --git a/Src/C#/EasyPlayerNetSDK/EasyPlayer-RTSP.NetSDK.csproj b/Src/C#/EasyPlayerNetSDK/EasyPlayer-RTSP.NetSDK.csproj index e2172ea..4f362a0 100644 --- a/Src/C#/EasyPlayerNetSDK/EasyPlayer-RTSP.NetSDK.csproj +++ b/Src/C#/EasyPlayerNetSDK/EasyPlayer-RTSP.NetSDK.csproj @@ -20,18 +20,20 @@ true full false - bin\Debug\ + ..\..\..\Bin\C#\ DEBUG;TRACE prompt 4 + x86 pdbonly true - bin\Release\ + ..\..\..\Bin\C#\ TRACE prompt 4 + x86 diff --git a/Src/C#/EasyPlayerNetSDK/PlayerSdk.cs b/Src/C#/EasyPlayerNetSDK/PlayerSdk.cs index 4ee7a22..2951aed 100644 --- a/Src/C#/EasyPlayerNetSDK/PlayerSdk.cs +++ b/Src/C#/EasyPlayerNetSDK/PlayerSdk.cs @@ -137,9 +137,13 @@ public struct tagRECT /// 用户自定义指针. /// 数据回调. /// 硬件解码1=是,0=否. + /// 回放开始时间,直播流填null. + /// 回放结束时间,直播流填null. + /// 回放倍率,直播流无效. /// System.Int32. [DllImport(@"Lib\libEasyPlayer-RTSP.dll", CallingConvention = CallingConvention.Cdecl, EntryPoint = "?EasyPlayer_OpenStream@@YAHPBDPAUHWND__@@W4__RENDER_FORMAT@@H00P6GHHPAHHPADPAURTSP_FRAME_INFO@@@ZPAX_N44M@Z")] - public static extern int EasyPlayer_OpenStream(string url, IntPtr hWnd, RENDER_FORMAT renderFormat, int rtpovertcp, string username, string password, MediaSourceCallBack callback, IntPtr userPtr, bool bHardDecode = true); + //?EasyPlayer_OpenStream@@YAHPBDPAUHWND__@@W4__RENDER_FORMAT@@H00P6GHHPAHHPADPAURTSP_FRAME_INFO@@@ZPAX_N44M@Z + public static extern int EasyPlayer_OpenStream(string url, IntPtr hWnd, RENDER_FORMAT renderFormat, int rtpovertcp, string username, string password, MediaSourceCallBack callback, IntPtr userPtr, bool bHardDecode = true, string startTime = null, string endTime = null, float fScale = 1.0f); /// /// Easies the player_ close stream. diff --git a/Src/C#/Solution Items/Include/libEasyPlayerAPI.h b/Src/C#/Solution Items/Include/libEasyPlayerAPI.h index 7d3edb7..11908c0 100644 --- a/Src/C#/Solution Items/Include/libEasyPlayerAPI.h +++ b/Src/C#/Solution Items/Include/libEasyPlayerAPI.h @@ -1,9 +1,9 @@ /* -Copyright (c) 2013-2014 EasyDarwin.ORG. All rights reserved. -Github: https://github.com/EasyDarwin -WEChat: EasyDarwin -Website: http://www.easydarwin.org -Author: Sword@easydarwin.org + Copyright (c) 2013-2014 EasyDarwin.ORG. All rights reserved. + Github: https://github.com/EasyDarwin + WEChat: EasyDarwin + Website: http://www.easydarwin.org + Author: Sword@easydarwin.org */ #ifndef __LIB_EASY_PLAYER_API_H__ @@ -13,36 +13,51 @@ Author: Sword@easydarwin.org #include #include #include -#include "EasyRTSPClientAPI.h" +#include "EasyRTSPClient\EasyRTSPClientAPI.h" #define LIB_EASYPLAYER_API __declspec(dllexport) typedef enum __RENDER_FORMAT { - DISPLAY_FORMAT_YV12 = 842094169, - DISPLAY_FORMAT_YUY2 = 844715353, - DISPLAY_FORMAT_UYVY = 1498831189, - DISPLAY_FORMAT_A8R8G8B8 = 21, - DISPLAY_FORMAT_X8R8G8B8 = 22, - DISPLAY_FORMAT_RGB565 = 23, - DISPLAY_FORMAT_RGB555 = 25, - - DISPLAY_FORMAT_RGB24_GDI = 26 + DISPLAY_FORMAT_YV12 = 842094169, + DISPLAY_FORMAT_YUY2 = 844715353, + DISPLAY_FORMAT_UYVY = 1498831189, + DISPLAY_FORMAT_A8R8G8B8 = 21, + DISPLAY_FORMAT_X8R8G8B8 = 22, + DISPLAY_FORMAT_RGB565 = 23, + DISPLAY_FORMAT_RGB555 = 25, + + DISPLAY_FORMAT_RGB24_GDI= 26 }RENDER_FORMAT; -typedef int (CALLBACK *MediaSourceCallBack)(int _channelId, int *_channelPtr, int _frameType, char *pBuf, RTSP_FRAME_INFO* _frameInfo); -LIB_EASYPLAYER_API int EasyPlayer_Init(); +typedef struct tagEASY_PALYER_OSD +{ + char stOSD[1024]; + DWORD alpha; //0-255 + DWORD color; //RGB(0xf9,0xf9,0xf9) + DWORD shadowcolor; //RGB(0x4d,0x4d,0x4d) ȫΪ0͸ + RECT rect; //OSDͼϽʾ + int size; //just D3D Support +}EASY_PALYER_OSD; + +typedef int (CALLBACK *MediaSourceCallBack)( int _channelId, int *_channelPtr, int _frameType, char *pBuf, RTSP_FRAME_INFO* _frameInfo); + +LIB_EASYPLAYER_API int EasyPlayer_Init(char* key); LIB_EASYPLAYER_API void EasyPlayer_Release(); -LIB_EASYPLAYER_API int EasyPlayer_OpenStream(const char *url, HWND hWnd, RENDER_FORMAT renderFormat, - int rtpovertcp, const char *username, const char *password, MediaSourceCallBack callback = NULL, void *userPtr = NULL, bool bHardDecode = true); +// RTSPطؽӿڲ [5/9/2018 SwordTwelve] +LIB_EASYPLAYER_API int EasyPlayer_OpenStream(const char *url, HWND hWnd, RENDER_FORMAT renderFormat, + int rtpovertcp, const char *username, const char *password, MediaSourceCallBack callback=NULL, void *userPtr=NULL, + bool bHardDecode=true, char* startTime = NULL, char* endTime=NULL, float fScale = 1.0f ); LIB_EASYPLAYER_API void EasyPlayer_CloseStream(int channelId); LIB_EASYPLAYER_API int EasyPlayer_SetFrameCache(int channelId, int cache); LIB_EASYPLAYER_API int EasyPlayer_SetShownToScale(int channelId, int shownToScale); LIB_EASYPLAYER_API int EasyPlayer_SetDecodeType(int channelId, int decodeKeyframeOnly); LIB_EASYPLAYER_API int EasyPlayer_SetRenderRect(int channelId, LPRECT lpSrcRect); LIB_EASYPLAYER_API int EasyPlayer_ShowStatisticalInfo(int channelId, int show); +LIB_EASYPLAYER_API int EasyPlayer_ShowOSD(int channelId, int show, EASY_PALYER_OSD osd); +LIB_EASYPLAYER_API int EasyPlayer_GetMediaInfo(int channelId, MEDIA_INFO& mediaInfo); LIB_EASYPLAYER_API int EasyPlayer_SetDragStartPoint(int channelId, POINT pt); LIB_EASYPLAYER_API int EasyPlayer_SetDragEndPoint(int channelId, POINT pt); @@ -60,4 +75,14 @@ LIB_EASYPLAYER_API int EasyPlayer_SetManuPicShotPath(int channelId, const char* LIB_EASYPLAYER_API int EasyPlayer_StartManuPicShot(int channelId);//pThread->manuScreenshot LIB_EASYPLAYER_API int EasyPlayer_StopManuPicShot(int channelId); -#endif \ No newline at end of file +// RTSPطؽӿ [5/9/2018 SwordTwelve] +//ûطٶ +LIB_EASYPLAYER_API int EasyPlayer_SetPlaybackSpeed(int channelId, float fSpeed); +/* תʱ */ +LIB_EASYPLAYER_API int EasyPlayer_PlaybackSeek(int channelId, const char *playTime); +/* ͣ */ +LIB_EASYPLAYER_API int EasyPlayer_PlaybackPause(int channelId); +/* ָ */ +LIB_EASYPLAYER_API int EasyPlayer_PlaybackResume(int channelId); + +#endif diff --git a/Src/C#/Solution Items/Lib/libEasyPlayer-RTSP.dll b/Src/C#/Solution Items/Lib/libEasyPlayer-RTSP.dll index a90146d..3621d43 100644 Binary files a/Src/C#/Solution Items/Lib/libEasyPlayer-RTSP.dll and b/Src/C#/Solution Items/Lib/libEasyPlayer-RTSP.dll differ diff --git a/Src/C++/EasyPlayerWebActiveX/EasyPlayer-RTSPWebActiveXidl.h b/Src/C++/EasyPlayerWebActiveX/EasyPlayer-RTSPWebActiveXidl.h deleted file mode 100644 index df1fba1..0000000 --- a/Src/C++/EasyPlayerWebActiveX/EasyPlayer-RTSPWebActiveXidl.h +++ /dev/null @@ -1,316 +0,0 @@ - - -/* this ALWAYS GENERATED file contains the definitions for the interfaces */ - - - /* File created by MIDL compiler version 7.00.0555 */ -/* at Wed Jun 27 15:40:27 2018 - */ -/* Compiler settings for EasyPlayerWebActiveX.idl: - Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 - protocol : dce , ms_ext, c_ext, robust - error checks: allocation ref bounds_check enum stub_data - VC __declspec() decoration level: - __declspec(uuid()), __declspec(selectany), __declspec(novtable) - DECLSPEC_UUID(), MIDL_INTERFACE() -*/ -/* @@MIDL_FILE_HEADING( ) */ - -#pragma warning( disable: 4049 ) /* more than 64k source lines */ - - -/* verify that the version is high enough to compile this file*/ -#ifndef __REQUIRED_RPCNDR_H_VERSION__ -#define __REQUIRED_RPCNDR_H_VERSION__ 475 -#endif - -#include "rpc.h" -#include "rpcndr.h" - -#ifndef __RPCNDR_H_VERSION__ -#error this stub requires an updated version of -#endif // __RPCNDR_H_VERSION__ - - -#ifndef __EasyPlayer2DRTSPWebActiveXidl_h__ -#define __EasyPlayer2DRTSPWebActiveXidl_h__ - -#if defined(_MSC_VER) && (_MSC_VER >= 1020) -#pragma once -#endif - -/* Forward Declarations */ - -#ifndef ___DEasyPlayerWebActiveX_FWD_DEFINED__ -#define ___DEasyPlayerWebActiveX_FWD_DEFINED__ -typedef interface _DEasyPlayerWebActiveX _DEasyPlayerWebActiveX; -#endif /* ___DEasyPlayerWebActiveX_FWD_DEFINED__ */ - - -#ifndef ___DEasyPlayerWebActiveXEvents_FWD_DEFINED__ -#define ___DEasyPlayerWebActiveXEvents_FWD_DEFINED__ -typedef interface _DEasyPlayerWebActiveXEvents _DEasyPlayerWebActiveXEvents; -#endif /* ___DEasyPlayerWebActiveXEvents_FWD_DEFINED__ */ - - -#ifndef __EasyPlayerWebActiveX_FWD_DEFINED__ -#define __EasyPlayerWebActiveX_FWD_DEFINED__ - -#ifdef __cplusplus -typedef class EasyPlayerWebActiveX EasyPlayerWebActiveX; -#else -typedef struct EasyPlayerWebActiveX EasyPlayerWebActiveX; -#endif /* __cplusplus */ - -#endif /* __EasyPlayerWebActiveX_FWD_DEFINED__ */ - - -#ifdef __cplusplus -extern "C"{ -#endif - - - -#ifndef __EasyPlayerWebActiveXLib_LIBRARY_DEFINED__ -#define __EasyPlayerWebActiveXLib_LIBRARY_DEFINED__ - -/* library EasyPlayerWebActiveXLib */ -/* [control][version][uuid] */ - - -EXTERN_C const IID LIBID_EasyPlayerWebActiveXLib; - -#ifndef ___DEasyPlayerWebActiveX_DISPINTERFACE_DEFINED__ -#define ___DEasyPlayerWebActiveX_DISPINTERFACE_DEFINED__ - -/* dispinterface _DEasyPlayerWebActiveX */ -/* [uuid] */ - - -EXTERN_C const IID DIID__DEasyPlayerWebActiveX; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("FB5E35A6-2538-47C4-9B40-B0FB6A00DEA0") - _DEasyPlayerWebActiveX : public IDispatch - { - }; - -#else /* C style interface */ - - typedef struct _DEasyPlayerWebActiveXVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - _DEasyPlayerWebActiveX * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - _DEasyPlayerWebActiveX * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - _DEasyPlayerWebActiveX * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - _DEasyPlayerWebActiveX * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - _DEasyPlayerWebActiveX * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - _DEasyPlayerWebActiveX * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - _DEasyPlayerWebActiveX * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - END_INTERFACE - } _DEasyPlayerWebActiveXVtbl; - - interface _DEasyPlayerWebActiveX - { - CONST_VTBL struct _DEasyPlayerWebActiveXVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define _DEasyPlayerWebActiveX_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define _DEasyPlayerWebActiveX_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define _DEasyPlayerWebActiveX_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define _DEasyPlayerWebActiveX_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define _DEasyPlayerWebActiveX_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define _DEasyPlayerWebActiveX_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define _DEasyPlayerWebActiveX_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - -#endif /* ___DEasyPlayerWebActiveX_DISPINTERFACE_DEFINED__ */ - - -#ifndef ___DEasyPlayerWebActiveXEvents_DISPINTERFACE_DEFINED__ -#define ___DEasyPlayerWebActiveXEvents_DISPINTERFACE_DEFINED__ - -/* dispinterface _DEasyPlayerWebActiveXEvents */ -/* [uuid] */ - - -EXTERN_C const IID DIID__DEasyPlayerWebActiveXEvents; - -#if defined(__cplusplus) && !defined(CINTERFACE) - - MIDL_INTERFACE("66887A6D-C75B-48B8-B5E1-BD722D875923") - _DEasyPlayerWebActiveXEvents : public IDispatch - { - }; - -#else /* C style interface */ - - typedef struct _DEasyPlayerWebActiveXEventsVtbl - { - BEGIN_INTERFACE - - HRESULT ( STDMETHODCALLTYPE *QueryInterface )( - _DEasyPlayerWebActiveXEvents * This, - /* [in] */ REFIID riid, - /* [annotation][iid_is][out] */ - __RPC__deref_out void **ppvObject); - - ULONG ( STDMETHODCALLTYPE *AddRef )( - _DEasyPlayerWebActiveXEvents * This); - - ULONG ( STDMETHODCALLTYPE *Release )( - _DEasyPlayerWebActiveXEvents * This); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( - _DEasyPlayerWebActiveXEvents * This, - /* [out] */ UINT *pctinfo); - - HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( - _DEasyPlayerWebActiveXEvents * This, - /* [in] */ UINT iTInfo, - /* [in] */ LCID lcid, - /* [out] */ ITypeInfo **ppTInfo); - - HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( - _DEasyPlayerWebActiveXEvents * This, - /* [in] */ REFIID riid, - /* [size_is][in] */ LPOLESTR *rgszNames, - /* [range][in] */ UINT cNames, - /* [in] */ LCID lcid, - /* [size_is][out] */ DISPID *rgDispId); - - /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( - _DEasyPlayerWebActiveXEvents * This, - /* [in] */ DISPID dispIdMember, - /* [in] */ REFIID riid, - /* [in] */ LCID lcid, - /* [in] */ WORD wFlags, - /* [out][in] */ DISPPARAMS *pDispParams, - /* [out] */ VARIANT *pVarResult, - /* [out] */ EXCEPINFO *pExcepInfo, - /* [out] */ UINT *puArgErr); - - END_INTERFACE - } _DEasyPlayerWebActiveXEventsVtbl; - - interface _DEasyPlayerWebActiveXEvents - { - CONST_VTBL struct _DEasyPlayerWebActiveXEventsVtbl *lpVtbl; - }; - - - -#ifdef COBJMACROS - - -#define _DEasyPlayerWebActiveXEvents_QueryInterface(This,riid,ppvObject) \ - ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) - -#define _DEasyPlayerWebActiveXEvents_AddRef(This) \ - ( (This)->lpVtbl -> AddRef(This) ) - -#define _DEasyPlayerWebActiveXEvents_Release(This) \ - ( (This)->lpVtbl -> Release(This) ) - - -#define _DEasyPlayerWebActiveXEvents_GetTypeInfoCount(This,pctinfo) \ - ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) - -#define _DEasyPlayerWebActiveXEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo) \ - ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) - -#define _DEasyPlayerWebActiveXEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) \ - ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) - -#define _DEasyPlayerWebActiveXEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) \ - ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) - -#endif /* COBJMACROS */ - - -#endif /* C style interface */ - - -#endif /* ___DEasyPlayerWebActiveXEvents_DISPINTERFACE_DEFINED__ */ - - -EXTERN_C const CLSID CLSID_EasyPlayerWebActiveX; - -#ifdef __cplusplus - -class DECLSPEC_UUID("1EE1C648-F4A9-42F9-9AA7-2C8E3AF7B7FD") -EasyPlayerWebActiveX; -#endif -#endif /* __EasyPlayerWebActiveXLib_LIBRARY_DEFINED__ */ - -/* Additional Prototypes for ALL interfaces */ - -/* end of Additional Prototypes */ - -#ifdef __cplusplus -} -#endif - -#endif - - diff --git a/Src/C++/libEasyPlayer/ChannelManager.cpp b/Src/C++/libEasyPlayer/ChannelManager.cpp index 55217bb..af89e0a 100644 --- a/Src/C++/libEasyPlayer/ChannelManager.cpp +++ b/Src/C++/libEasyPlayer/ChannelManager.cpp @@ -1189,7 +1189,7 @@ LPTHREAD_START_ROUTINE CChannelManager::_lpDecodeThread( LPVOID _pParam ) // EnterCriticalSection(&pThread->crit); - int nRet = 1; + int nRet = 1; if (pDecoderObj->pIntelDecoder) { if(frameinfo.length > 0) diff --git a/Src/C++/libEasyPlayer/libEasyPlayer.vcxproj b/Src/C++/libEasyPlayer/libEasyPlayer.vcxproj index 0696fe9..ebd06cc 100644 --- a/Src/C++/libEasyPlayer/libEasyPlayer.vcxproj +++ b/Src/C++/libEasyPlayer/libEasyPlayer.vcxproj @@ -74,6 +74,7 @@ true WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) ./EasyMP4Writer/include;.\ffmpeg-win32\include + MultiThreaded Console @@ -82,6 +83,7 @@ false avcodec.lib;avfilter.lib;avformat.lib;avutil.lib;swresample.lib;swscale.lib;%(AdditionalDependencies) ./EasyMP4Writer/lib;.\ffmpeg-win32\lib + LIBCMT.lib