1 /* 2 * main_pipe_manager.cpp -main pipe manager 3 * 4 * Copyright (c) 2016 Intel Corporation 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * you may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 * 18 * Author: Yinhang Liu <yinhangx.liu@intel.com> 19 */ 20 21 #include "main_pipe_manager.h" 22 23 using namespace XCam; 24 25 namespace GstXCam { 26 27 void post_buffer(const SmartPtr<VideoBuffer> & buf)28MainPipeManager::post_buffer (const SmartPtr<VideoBuffer> &buf) 29 { 30 XCAM_ASSERT (buf.ptr ()); 31 _ready_buffers.push (buf); 32 } 33 34 SmartPtr<VideoBuffer> dequeue_buffer(const int32_t timeout)35MainPipeManager::dequeue_buffer (const int32_t timeout) 36 { 37 SmartPtr<VideoBuffer> ret; 38 ret = _ready_buffers.pop (timeout); 39 return ret; 40 } 41 42 void pause_dequeue()43MainPipeManager::pause_dequeue () 44 { 45 return _ready_buffers.pause_pop (); 46 } 47 48 void resume_dequeue()49MainPipeManager::resume_dequeue () 50 { 51 return _ready_buffers.resume_pop (); 52 } 53 54 }; 55