Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vectors = g_newa (GOutputVector, n_vectors);
- map_infos = n_memories ? g_newa (GstMapInfo, n_memories) : NULL;
- for (i = 0, j = 0, k = 0, bytes_to_write = 0; i < n_messages; i++) {
- vectors[j].buffer = messages[i].data_is_data_header ?
- messages[i].data_header : messages[i].data;
- vectors[j].size = messages[i].data_size;
- bytes_to_write += vectors[j].size;
- j++;
- if (messages[i].body_data) {
- vectors[j].buffer = messages[i].body_data;
- vectors[j].size = messages[i].body_data_size;
- bytes_to_write += vectors[j].size;
- GST_ERROR ("body_data, preparing to write %d byes", messages[i].body_data_size);
- gst_util_dump_mem (messages[i].body_data, messages[i].body_data_size);
- j++;
- } else if (messages[i].body_buffer) {
- gint l, n;
- n = gst_buffer_n_memory (messages[i].body_buffer);
- for (l = 0; l < n; l++) {
- GstMemory *mem = gst_buffer_peek_memory (messages[i].body_buffer, l);
- gst_memory_map (mem, &map_infos[k], GST_MAP_READ);
- vectors[j].buffer = map_infos[k].data;
- vectors[j].size = map_infos[k].size;
- GST_ERROR ("body_buffer, preparing to write %d byes", map_infos[k].size);
- gst_util_dump_mem (map_infos[k].data, map_infos[k].size);
- bytes_to_write += vectors[j].size;
- k++;
- j++;
- }
- }
- }
- GST_ERROR ("writng %d byes", bytes_to_write);
- res =
- writev_bytes (watch->conn->output_stream, vectors, n_vectors,
- &bytes_written, FALSE, watch->conn->cancellable);
- g_assert (bytes_written == bytes_to_write || res != GST_RTSP_OK);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement