VR-Forces 4.1 Class Documentation
DtGStreamerTaskElement.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 VT-MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
13 
15 
16 #include <string>
17 
18 #include <gst/gstelement.h>
19 #include <gst/app/gstappsrc.h>
20 
21 namespace makVrv
22 {
23  class DtVideoFrameBuffer;
24 
30  {
31  public:
35 
37  virtual ~DtGStreamerTaskElement();
38 
40  virtual std::string pipelineConfiguration() const;
41 
43  virtual void setPipelineConfiguration( const std::string& config );
44 
46  virtual void setFromRecord(
47  const makArchives::DtImageTaskRecord& config );
48 
50  virtual bool configure();
51 
52  protected:
55 
57  void handleProcessFrame(DtVideoFrameBuffer* frame);
58 
60  bool buildPipeline();
61 
63  void destroyPipeline();
64 
66  GstCaps* genCaps();
67 
68  protected:
71  static void need_data( GstAppSrc *src, guint length, gpointer user_data );
72 
75  static void enough_data( GstAppSrc *src, gpointer user_data );
76 
77  protected:
78  static int theClassCount;
79 
80  protected:
81 
83 
85 
86  GstElement* myPipeline;
87  GstElement* myVideoAppSrc;
88  GstElement* myMetadataAppSrc;
89  GstAppSrcCallbacks myGstCallbacks;
90 
91  int myWidth;
92  int myHeight;
95  };
102  {
103  public:
105  friend class DtVideoStreamManager;
106 
109 
112 
113  protected:
115  virtual DtImageTaskElement* create(DtDe& de,
116  DtProcessImageTask* owningTask);
117  };
118 }

Document ID: Generated on Tue Jan 29 18:21:16 EST 2013 from SVN revision 123193
Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)