71 lines
2.3 KiB
C#
71 lines
2.3 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Facepunch.Steamworks.Data;
|
|
|
|
|
|
namespace Facepunch.Steamworks
|
|
{
|
|
internal class ISteamVideo : SteamInterface
|
|
{
|
|
|
|
internal ISteamVideo( bool IsGameServer )
|
|
{
|
|
SetupInterface( IsGameServer );
|
|
}
|
|
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_SteamVideo_v002", CallingConvention = Platform.CC)]
|
|
internal static extern IntPtr SteamAPI_SteamVideo_v002();
|
|
public override IntPtr GetUserInterfacePointer() => SteamAPI_SteamVideo_v002();
|
|
|
|
|
|
#region FunctionMeta
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_ISteamVideo_GetVideoURL", CallingConvention = Platform.CC)]
|
|
private static extern void _GetVideoURL( IntPtr self, AppId unVideoAppID );
|
|
|
|
#endregion
|
|
internal void GetVideoURL( AppId unVideoAppID )
|
|
{
|
|
_GetVideoURL( Self, unVideoAppID );
|
|
}
|
|
|
|
#region FunctionMeta
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_ISteamVideo_IsBroadcasting", CallingConvention = Platform.CC)]
|
|
[return: MarshalAs( UnmanagedType.I1 )]
|
|
private static extern bool _IsBroadcasting( IntPtr self, ref int pnNumViewers );
|
|
|
|
#endregion
|
|
internal bool IsBroadcasting( ref int pnNumViewers )
|
|
{
|
|
var returnValue = _IsBroadcasting( Self, ref pnNumViewers );
|
|
return returnValue;
|
|
}
|
|
|
|
#region FunctionMeta
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_ISteamVideo_GetOPFSettings", CallingConvention = Platform.CC)]
|
|
private static extern void _GetOPFSettings( IntPtr self, AppId unVideoAppID );
|
|
|
|
#endregion
|
|
internal void GetOPFSettings( AppId unVideoAppID )
|
|
{
|
|
_GetOPFSettings( Self, unVideoAppID );
|
|
}
|
|
|
|
#region FunctionMeta
|
|
[DllImport( Platform.LibraryName, EntryPoint = "SteamAPI_ISteamVideo_GetOPFStringForApp", CallingConvention = Platform.CC)]
|
|
[return: MarshalAs( UnmanagedType.I1 )]
|
|
private static extern bool _GetOPFStringForApp( IntPtr self, AppId unVideoAppID, IntPtr pchBuffer, ref int pnBufferSize );
|
|
|
|
#endregion
|
|
internal bool GetOPFStringForApp( AppId unVideoAppID, out string pchBuffer, ref int pnBufferSize )
|
|
{
|
|
IntPtr mempchBuffer = Helpers.TakeMemory();
|
|
var returnValue = _GetOPFStringForApp( Self, unVideoAppID, mempchBuffer, ref pnBufferSize );
|
|
pchBuffer = Helpers.MemoryToString( mempchBuffer );
|
|
return returnValue;
|
|
}
|
|
|
|
}
|
|
}
|