Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

56 Zeilen
1.3KB

  1. #ifndef _rtmp_util_h_
  2. #define _rtmp_util_h_
  3. #include <stdint.h>
  4. static inline void be_write_uint16(uint8_t* ptr, uint16_t val)
  5. {
  6. ptr[0] = (uint8_t)((val >> 8) & 0xFF);
  7. ptr[1] = (uint8_t)(val & 0xFF);
  8. }
  9. static inline void be_write_uint24(uint8_t* ptr, uint32_t val)
  10. {
  11. ptr[0] = (uint8_t)((val >> 16) & 0xFF);
  12. ptr[1] = (uint8_t)((val >> 8) & 0xFF);
  13. ptr[2] = (uint8_t)(val & 0xFF);
  14. }
  15. static inline void be_write_uint32(uint8_t* ptr, uint32_t val)
  16. {
  17. ptr[0] = (uint8_t)((val >> 24) & 0xFF);
  18. ptr[1] = (uint8_t)((val >> 16) & 0xFF);
  19. ptr[2] = (uint8_t)((val >> 8) & 0xFF);
  20. ptr[3] = (uint8_t)(val & 0xFF);
  21. }
  22. static inline void be_read_uint16(const uint8_t* ptr, uint16_t* val)
  23. {
  24. *val = (ptr[0] << 8) | ptr[1];
  25. }
  26. static inline void be_read_uint24(const uint8_t* ptr, uint32_t* val)
  27. {
  28. *val = (ptr[0] << 16) | (ptr[1] << 8) | ptr[2];
  29. }
  30. static inline void be_read_uint32(const uint8_t* ptr, uint32_t* val)
  31. {
  32. *val = (ptr[0] << 24) | (ptr[1] << 16) | (ptr[2] << 8) | ptr[3];
  33. }
  34. static inline void le_write_uint32(uint8_t* ptr, uint32_t val)
  35. {
  36. ptr[3] = (uint8_t)((val >> 24) & 0xFF);
  37. ptr[2] = (uint8_t)((val >> 16) & 0xFF);
  38. ptr[1] = (uint8_t)((val >> 8) & 0xFF);
  39. ptr[0] = (uint8_t)(val & 0xFF);
  40. }
  41. static inline void le_read_uint32(const uint8_t* ptr, uint32_t* val)
  42. {
  43. *val = ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24);
  44. }
  45. #endif /* !_rtmp_util_h_ */