mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	v4l2: small cleanups
This commit is contained in:
		
							parent
							
								
									b75d9786d4
								
							
						
					
					
						commit
						140f360cc0
					
				
					 1 changed files with 5 additions and 10 deletions
				
			
		| 
						 | 
					@ -94,20 +94,14 @@ spa_v4l2_clear_buffers (SpaV4l2Source *this)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  for (i = 0; i < state->reqbuf.count; i++) {
 | 
					  for (i = 0; i < state->reqbuf.count; i++) {
 | 
				
			||||||
    V4l2Buffer *b;
 | 
					    V4l2Buffer *b;
 | 
				
			||||||
    SpaMemory *mem;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    b = &state->alloc_buffers[i];
 | 
					    b = &state->alloc_buffers[i];
 | 
				
			||||||
    if (b->outstanding) {
 | 
					    if (b->outstanding) {
 | 
				
			||||||
      fprintf (stderr, "queueing outstanding buffer %p\n", b);
 | 
					      fprintf (stderr, "queueing outstanding buffer %p\n", b);
 | 
				
			||||||
      spa_v4l2_buffer_recycle (this, i);
 | 
					      spa_v4l2_buffer_recycle (this, i);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    mem = spa_memory_find (&b->datas[0].mem.mem);
 | 
					    if (b->buffer.n_datas > 0)
 | 
				
			||||||
    if (state->export_buf) {
 | 
					      spa_memory_unref (&b->datas[0].mem.mem);
 | 
				
			||||||
      close (mem->fd);
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      munmap (mem->ptr, mem->size);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    spa_memory_unref (&mem->mem);
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  if (state->alloc_mem)
 | 
					  if (state->alloc_mem)
 | 
				
			||||||
    spa_memory_unref (&state->alloc_mem->mem);
 | 
					    spa_memory_unref (&state->alloc_mem->mem);
 | 
				
			||||||
| 
						 | 
					@ -825,7 +819,6 @@ mmap_read (SpaV4l2Source *this)
 | 
				
			||||||
      case EIO:
 | 
					      case EIO:
 | 
				
			||||||
      default:
 | 
					      default:
 | 
				
			||||||
        perror ("VIDIOC_DQBUF");
 | 
					        perror ("VIDIOC_DQBUF");
 | 
				
			||||||
        usleep (50 * 1000);
 | 
					 | 
				
			||||||
        return SPA_RESULT_ERROR;
 | 
					        return SPA_RESULT_ERROR;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
| 
						 | 
					@ -920,11 +913,14 @@ spa_v4l2_use_buffers (SpaV4l2Source *this, SpaBuffer **buffers, uint32_t n_buffe
 | 
				
			||||||
    b->buffer.mem.offset = sizeof (V4l2Buffer) * i;
 | 
					    b->buffer.mem.offset = sizeof (V4l2Buffer) * i;
 | 
				
			||||||
    b->buffer.mem.size = sizeof (V4l2Buffer);
 | 
					    b->buffer.mem.size = sizeof (V4l2Buffer);
 | 
				
			||||||
    b->buffer.id = SPA_ID_INVALID;
 | 
					    b->buffer.id = SPA_ID_INVALID;
 | 
				
			||||||
 | 
					    b->buffer.n_metas = 0;
 | 
				
			||||||
 | 
					    b->buffer.n_datas = 0;
 | 
				
			||||||
    b->outbuf = buffers[i];
 | 
					    b->outbuf = buffers[i];
 | 
				
			||||||
    b->outstanding = true;
 | 
					    b->outstanding = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fprintf (stderr, "import buffer %p\n", buffers[i]);
 | 
					    fprintf (stderr, "import buffer %p\n", buffers[i]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    d = SPA_BUFFER_DATAS (buffers[i]);
 | 
				
			||||||
    mem_ref = &d[0].mem.mem;
 | 
					    mem_ref = &d[0].mem.mem;
 | 
				
			||||||
    if (!(mem = spa_memory_find (mem_ref))) {
 | 
					    if (!(mem = spa_memory_find (mem_ref))) {
 | 
				
			||||||
      fprintf (stderr, "invalid memory on buffer %p\n", buffers[i]);
 | 
					      fprintf (stderr, "invalid memory on buffer %p\n", buffers[i]);
 | 
				
			||||||
| 
						 | 
					@ -935,7 +931,6 @@ spa_v4l2_use_buffers (SpaV4l2Source *this, SpaBuffer **buffers, uint32_t n_buffe
 | 
				
			||||||
      fprintf (stderr, "invalid memory on buffer %p\n", buffers[i]);
 | 
					      fprintf (stderr, "invalid memory on buffer %p\n", buffers[i]);
 | 
				
			||||||
      continue;
 | 
					      continue;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    d = SPA_BUFFER_DATAS (buffers[i]);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    CLEAR (b->v4l2_buffer);
 | 
					    CLEAR (b->v4l2_buffer);
 | 
				
			||||||
    b->v4l2_buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 | 
					    b->v4l2_buffer.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue