This URL has Read-Only access.

Statistics
| Branch: | Tag: | Revision:

root / src / gst / engine / rtpSender.h @ 0b392805

History | View | Annotate | Download (1.6 kB)

1 5bc06d64 Tristan Matthews
2 5bc06d64 Tristan Matthews
// rtpSender.h
3 4ecb230a Koya Charles
// Copyright (C) 2008-2009 Société des arts technologiques (SAT)
4 d0fde18e Koya Charles
// http://www.sat.qc.ca
5 d0fde18e Koya Charles
// All rights reserved.
6 5bc06d64 Tristan Matthews
//
7 5bc06d64 Tristan Matthews
// This file is part of [propulse]ART.
8 5bc06d64 Tristan Matthews
//
9 5bc06d64 Tristan Matthews
// [propulse]ART is free software: you can redistribute it and/or modify
10 5bc06d64 Tristan Matthews
// it under the terms of the GNU General Public License as published by
11 5bc06d64 Tristan Matthews
// the Free Software Foundation, either version 3 of the License, or
12 5bc06d64 Tristan Matthews
// (at your option) any later version.
13 5bc06d64 Tristan Matthews
//
14 5bc06d64 Tristan Matthews
// [propulse]ART is distributed in the hope that it will be useful,
15 5bc06d64 Tristan Matthews
// but WITHOUT ANY WARRANTY; without even the implied warranty of
16 5bc06d64 Tristan Matthews
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 5bc06d64 Tristan Matthews
// GNU General Public License for more details.
18 5bc06d64 Tristan Matthews
//
19 5bc06d64 Tristan Matthews
// You should have received a copy of the GNU General Public License
20 5bc06d64 Tristan Matthews
// along with [propulse]ART.  If not, see <http://www.gnu.org/licenses/>.
21 5bc06d64 Tristan Matthews
//
22 5bc06d64 Tristan Matthews
23 5bc06d64 Tristan Matthews
#ifndef _RTP_SENDER_H_
24 5bc06d64 Tristan Matthews
#define _RTP_SENDER_H_
25 5bc06d64 Tristan Matthews
26 2114919b Koya Charles
#include <string>
27 89a63537 Tristan Matthews
#include "rtpBin.h"
28 5bc06d64 Tristan Matthews
29 327c2590 Tristan Matthews
class SenderConfig;
30 8ec3d015 Tristan Matthews
class _GstElement;
31 d9ab82f6 Tristan Matthews
class _GstPad;
32 d9ab82f6 Tristan Matthews
class _GParamSpec;
33 8ec3d015 Tristan Matthews
class RtpPay;
34 5bc06d64 Tristan Matthews
35 24d598da Koya Charles
class RtpSender
36 d315e3e6 Tristan Matthews
    : public RtpBin
37 5bc06d64 Tristan Matthews
{
38 e49fd11f Tristan Matthews
    public:
39 e12f0634 Tristan Matthews
        RtpSender(Pipeline &pipeline) : 
40 e12f0634 Tristan Matthews
            RtpBin(pipeline), 
41 e12f0634 Tristan Matthews
            rtp_sender_(0),
42 e12f0634 Tristan Matthews
            send_rtp_sink_(0),
43 e12f0634 Tristan Matthews
            send_rtcp_src_(0),
44 e12f0634 Tristan Matthews
            recv_rtcp_sink_(0)
45 e12f0634 Tristan Matthews
            {}
46 b1248fe2 Tristan Matthews
        ~RtpSender();
47 24d598da Koya Charles
48 327c2590 Tristan Matthews
        void add(RtpPay * payloader, const SenderConfig & config);
49 24d598da Koya Charles
50 e49fd11f Tristan Matthews
    private:
51 8ec3d015 Tristan Matthews
        _GstElement *rtp_sender_;
52 e12f0634 Tristan Matthews
        _GstPad *send_rtp_sink_;
53 e12f0634 Tristan Matthews
        _GstPad *send_rtcp_src_;
54 e12f0634 Tristan Matthews
        _GstPad *recv_rtcp_sink_;
55 d9ab82f6 Tristan Matthews
        static void sendCapsChanged(_GstPad *pad, _GParamSpec *pspec, RtpSender *context);
56 d9ab82f6 Tristan Matthews
        virtual void subParseSourceStats(_GstStructure *stats);
57 5bc06d64 Tristan Matthews
};
58 5bc06d64 Tristan Matthews
59 5bc06d64 Tristan Matthews
#endif // _RTP_SENDER_H_