Advertisement
Guest User

Untitled

a guest
Oct 18th, 2018
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  1. vectors = g_newa (GOutputVector, n_vectors);
  2. map_infos = n_memories ? g_newa (GstMapInfo, n_memories) : NULL;
  3.  
  4. for (i = 0, j = 0, k = 0, bytes_to_write = 0; i < n_messages; i++) {
  5. vectors[j].buffer = messages[i].data_is_data_header ?
  6. messages[i].data_header : messages[i].data;
  7. vectors[j].size = messages[i].data_size;
  8. bytes_to_write += vectors[j].size;
  9. j++;
  10.  
  11. if (messages[i].body_data) {
  12. vectors[j].buffer = messages[i].body_data;
  13. vectors[j].size = messages[i].body_data_size;
  14. bytes_to_write += vectors[j].size;
  15. GST_ERROR ("body_data, preparing to write %d byes", messages[i].body_data_size);
  16. gst_util_dump_mem (messages[i].body_data, messages[i].body_data_size);
  17. j++;
  18. } else if (messages[i].body_buffer) {
  19. gint l, n;
  20.  
  21. n = gst_buffer_n_memory (messages[i].body_buffer);
  22. for (l = 0; l < n; l++) {
  23. GstMemory *mem = gst_buffer_peek_memory (messages[i].body_buffer, l);
  24.  
  25. gst_memory_map (mem, &map_infos[k], GST_MAP_READ);
  26. vectors[j].buffer = map_infos[k].data;
  27. vectors[j].size = map_infos[k].size;
  28. GST_ERROR ("body_buffer, preparing to write %d byes", map_infos[k].size);
  29. gst_util_dump_mem (map_infos[k].data, map_infos[k].size);
  30. bytes_to_write += vectors[j].size;
  31.  
  32. k++;
  33. j++;
  34. }
  35. }
  36. }
  37.  
  38. GST_ERROR ("writng %d byes", bytes_to_write);
  39. res =
  40. writev_bytes (watch->conn->output_stream, vectors, n_vectors,
  41. &bytes_written, FALSE, watch->conn->cancellable);
  42. g_assert (bytes_written == bytes_to_write || res != GST_RTSP_OK);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement