| 444 | } |
| 445 | |
| 446 | static void sim_decoder_work(void *decoder) |
| 447 | { |
| 448 | sim_decoder_t *sim_decoder = decoder; |
| 449 | struct v4l2_buffer *src_buf; |
| 450 | struct v4l2_buffer *dst_buf; |
| 451 | int ret; |
| 452 | |
| 453 | src_buf = codec_output_get_buf(sim_decoder->cookie); |
| 454 | if (src_buf == NULL && !sim_decoder->flushing) |
| 455 | { |
| 456 | return; |
| 457 | } |
| 458 | |
| 459 | dst_buf = codec_capture_get_buf(sim_decoder->cookie); |
| 460 | if (dst_buf == NULL) |
| 461 | { |
| 462 | return; |
| 463 | } |
| 464 | |
| 465 | ret = sim_decoder_process(decoder, dst_buf, src_buf); |
| 466 | if (ret > 0) |
| 467 | { |
| 468 | work_queue(HPWORK, &sim_decoder->work, |
| 469 | sim_decoder_work, sim_decoder, 0); |
| 470 | } |
| 471 | } |
| 472 | |
| 473 | /**************************************************************************** |
| 474 | * Public Functions |
nothing calls this directly
no test coverage detected