Home | History | Annotate | Download | only in gstreamer
      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 (at) intel.com>
     19   */
     20 
     21 #include "main_pipe_manager.h"
     22 
     23 using namespace XCam;
     24 
     25 namespace GstXCam {
     26 
     27 void
     28 MainPipeManager::post_buffer (const SmartPtr<VideoBuffer> &buf)
     29 {
     30     XCAM_ASSERT (buf.ptr ());
     31     _ready_buffers.push (buf);
     32 }
     33 
     34 SmartPtr<VideoBuffer>
     35 MainPipeManager::dequeue_buffer (const int32_t timeout)
     36 {
     37     SmartPtr<VideoBuffer> ret;
     38     ret = _ready_buffers.pop (timeout);
     39     return ret;
     40 }
     41 
     42 void
     43 MainPipeManager::pause_dequeue ()
     44 {
     45     return _ready_buffers.pause_pop ();
     46 }
     47 
     48 void
     49 MainPipeManager::resume_dequeue ()
     50 {
     51     return _ready_buffers.resume_pop ();
     52 }
     53 
     54 };
     55