Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.5 KiB

  1. //====== Copyright � 1996-2014 Valve Corporation, All rights reserved. =======
  2. //
  3. // Purpose: interface to Steam Video
  4. //
  5. //=============================================================================
  6. #ifndef ISTEAMVIDEO_H
  7. #define ISTEAMVIDEO_H
  8. #ifdef _WIN32
  9. #pragma once
  10. #endif
  11. #include "isteamclient.h"
  12. // callbacks
  13. #if defined( VALVE_CALLBACK_PACK_SMALL )
  14. #pragma pack( push, 4 )
  15. #elif defined( VALVE_CALLBACK_PACK_LARGE )
  16. #pragma pack( push, 8 )
  17. #else
  18. #error isteamclient.h must be included
  19. #endif
  20. //-----------------------------------------------------------------------------
  21. // Purpose: Steam Video API
  22. //-----------------------------------------------------------------------------
  23. class ISteamVideo
  24. {
  25. public:
  26. // Get a URL suitable for streaming the given Video app ID's video
  27. virtual void GetVideoURL( AppId_t unVideoAppID ) = 0;
  28. // returns true if user is uploading a live broadcast
  29. virtual bool IsBroadcasting( int *pnNumViewers ) = 0;
  30. };
  31. #define STEAMVIDEO_INTERFACE_VERSION "STEAMVIDEO_INTERFACE_V001"
  32. DEFINE_CALLBACK( BroadcastUploadStart_t, k_iClientVideoCallbacks + 4 )
  33. END_DEFINE_CALLBACK_0()
  34. DEFINE_CALLBACK( BroadcastUploadStop_t, k_iClientVideoCallbacks + 5 )
  35. CALLBACK_MEMBER( 0, EBroadcastUploadResult, m_eResult )
  36. END_DEFINE_CALLBACK_1()
  37. DEFINE_CALLBACK( GetVideoURLResult_t, k_iClientVideoCallbacks + 11 )
  38. CALLBACK_MEMBER( 0, EResult, m_eResult )
  39. CALLBACK_MEMBER( 1, AppId_t, m_unVideoAppID )
  40. CALLBACK_MEMBER( 2, char, m_rgchURL[256] )
  41. END_DEFINE_CALLBACK_1()
  42. #pragma pack( pop )
  43. #endif // ISTEAMVIDEO_H