WAMediaTransport.proto 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. syntax = "proto2";
  2. package WAMediaTransport;
  3. option go_package = "go.mau.fi/whatsmeow/proto/waMediaTransport";
  4. import "waCommon/WACommon.proto";
  5. message WAMediaTransport {
  6. message Ancillary {
  7. message Thumbnail {
  8. message DownloadableThumbnail {
  9. optional bytes fileSHA256 = 1;
  10. optional bytes fileEncSHA256 = 2;
  11. optional string directPath = 3;
  12. optional bytes mediaKey = 4;
  13. optional int64 mediaKeyTimestamp = 5;
  14. optional string objectID = 6;
  15. optional bytes thumbnailScansSidecar = 7;
  16. repeated uint32 thumbnailScanLengths = 8;
  17. }
  18. optional bytes JPEGThumbnail = 1;
  19. optional DownloadableThumbnail downloadableThumbnail = 2;
  20. optional uint32 thumbnailWidth = 3;
  21. optional uint32 thumbnailHeight = 4;
  22. }
  23. optional uint64 fileLength = 1;
  24. optional string mimetype = 2;
  25. optional Thumbnail thumbnail = 3;
  26. optional string objectID = 4;
  27. }
  28. message Integral {
  29. optional bytes fileSHA256 = 1;
  30. optional bytes mediaKey = 2;
  31. optional bytes fileEncSHA256 = 3;
  32. optional string directPath = 4;
  33. optional int64 mediaKeyTimestamp = 5;
  34. }
  35. optional Integral integral = 1;
  36. optional Ancillary ancillary = 2;
  37. }
  38. message ImageTransport {
  39. message Ancillary {
  40. enum HdType {
  41. NONE = 0;
  42. LQ_4K = 1;
  43. HQ_4K = 2;
  44. }
  45. optional uint32 height = 1;
  46. optional uint32 width = 2;
  47. optional bytes scansSidecar = 3;
  48. repeated uint32 scanLengths = 4;
  49. optional bytes midQualityFileSHA256 = 5;
  50. optional HdType hdType = 6;
  51. repeated float memoriesConceptScores = 7 [packed=true];
  52. repeated uint32 memoriesConceptIDs = 8 [packed=true];
  53. }
  54. message Integral {
  55. optional WAMediaTransport transport = 1;
  56. }
  57. optional Integral integral = 1;
  58. optional Ancillary ancillary = 2;
  59. }
  60. message VideoTransport {
  61. message Ancillary {
  62. enum Attribution {
  63. NONE = 0;
  64. GIPHY = 1;
  65. TENOR = 2;
  66. }
  67. optional uint32 seconds = 1;
  68. optional WACommon.MessageText caption = 2;
  69. optional bool gifPlayback = 3;
  70. optional uint32 height = 4;
  71. optional uint32 width = 5;
  72. optional bytes sidecar = 6;
  73. optional Attribution gifAttribution = 7;
  74. optional string accessibilityLabel = 8;
  75. optional bool isHd = 9;
  76. }
  77. message Integral {
  78. optional WAMediaTransport transport = 1;
  79. }
  80. optional Integral integral = 1;
  81. optional Ancillary ancillary = 2;
  82. }
  83. message AudioTransport {
  84. message Ancillary {
  85. message AvatarAudio {
  86. enum AnimationsType {
  87. TALKING_A = 0;
  88. IDLE_A = 1;
  89. TALKING_B = 2;
  90. IDLE_B = 3;
  91. BACKGROUND = 4;
  92. }
  93. message DownloadableAvatarAnimations {
  94. optional bytes fileSHA256 = 1;
  95. optional bytes fileEncSHA256 = 2;
  96. optional string directPath = 3;
  97. optional bytes mediaKey = 4;
  98. optional int64 mediaKeyTimestamp = 5;
  99. optional string objectID = 6;
  100. optional AnimationsType animationsType = 7;
  101. }
  102. optional uint32 poseID = 1;
  103. repeated DownloadableAvatarAnimations avatarAnimations = 2;
  104. }
  105. optional uint32 seconds = 1;
  106. optional AvatarAudio avatarAudio = 2;
  107. optional string waveformData = 3;
  108. optional bytes waveform = 4;
  109. }
  110. message Integral {
  111. enum AudioFormat {
  112. UNKNOWN = 0;
  113. OPUS = 1;
  114. }
  115. optional WAMediaTransport transport = 1;
  116. optional AudioFormat audioFormat = 2;
  117. }
  118. optional Integral integral = 1;
  119. optional Ancillary ancillary = 2;
  120. }
  121. message DocumentTransport {
  122. message Ancillary {
  123. optional uint32 pageCount = 1;
  124. }
  125. message Integral {
  126. optional WAMediaTransport transport = 1;
  127. }
  128. optional Integral integral = 1;
  129. optional Ancillary ancillary = 2;
  130. }
  131. message StickerTransport {
  132. message Ancillary {
  133. optional uint32 pageCount = 1;
  134. optional uint32 height = 2;
  135. optional uint32 width = 3;
  136. optional uint32 firstFrameLength = 4;
  137. optional bytes firstFrameSidecar = 5;
  138. optional string mustacheText = 6;
  139. optional bool isThirdParty = 7;
  140. optional string receiverFetchID = 8;
  141. optional string accessibilityLabel = 9;
  142. }
  143. message Integral {
  144. optional WAMediaTransport transport = 1;
  145. optional bool isAnimated = 2;
  146. optional string receiverFetchID = 3;
  147. }
  148. optional Integral integral = 1;
  149. optional Ancillary ancillary = 2;
  150. }
  151. message ContactTransport {
  152. message Ancillary {
  153. optional string displayName = 1;
  154. }
  155. message Integral {
  156. oneof contact {
  157. string vcard = 1;
  158. WAMediaTransport downloadableVcard = 2;
  159. }
  160. }
  161. optional Integral integral = 1;
  162. optional Ancillary ancillary = 2;
  163. }