LCOV - code coverage report
Current view: top level - media/webrtc/signaling/src/peerconnection - MediaPipelineFactory.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 3 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 1 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* This Source Code Form is subject to the terms of the Mozilla Public
       2             :  * License, v. 2.0. If a copy of the MPL was not distributed with this file,
       3             :  * You can obtain one at http://mozilla.org/MPL/2.0/. */
       4             : #ifndef _MEDIAPIPELINEFACTORY_H_
       5             : #define _MEDIAPIPELINEFACTORY_H_
       6             : 
       7             : #include "MediaConduitInterface.h"
       8             : #include "PeerConnectionMedia.h"
       9             : #include "transportflow.h"
      10             : 
      11             : #include "signaling/src/jsep/JsepTrack.h"
      12             : #include "mozilla/RefPtr.h"
      13             : #include "mozilla/UniquePtr.h"
      14             : 
      15             : namespace mozilla {
      16             : 
      17             : class MediaPipelineFactory
      18             : {
      19             : public:
      20           0 :   explicit MediaPipelineFactory(PeerConnectionMedia* aPCMedia)
      21           0 :       : mPCMedia(aPCMedia), mPC(aPCMedia->GetPC())
      22             :   {
      23           0 :   }
      24             : 
      25             :   nsresult CreateOrUpdateMediaPipeline(const JsepTrackPair& aTrackPair,
      26             :                                        const JsepTrack& aTrack);
      27             : 
      28             : private:
      29             :   nsresult CreateMediaPipelineReceiving(
      30             :       const JsepTrackPair& aTrackPair,
      31             :       const JsepTrack& aTrack,
      32             :       size_t level,
      33             :       RefPtr<TransportFlow> aRtpFlow,
      34             :       RefPtr<TransportFlow> aRtcpFlow,
      35             :       nsAutoPtr<MediaPipelineFilter> filter,
      36             :       const RefPtr<MediaSessionConduit>& aConduit);
      37             : 
      38             :   nsresult CreateMediaPipelineSending(
      39             :       const JsepTrackPair& aTrackPair,
      40             :       const JsepTrack& aTrack,
      41             :       size_t level,
      42             :       RefPtr<TransportFlow> aRtpFlow,
      43             :       RefPtr<TransportFlow> aRtcpFlow,
      44             :       nsAutoPtr<MediaPipelineFilter> filter,
      45             :       const RefPtr<MediaSessionConduit>& aConduit);
      46             : 
      47             :   nsresult GetOrCreateAudioConduit(const JsepTrackPair& aTrackPair,
      48             :                                    const JsepTrack& aTrack,
      49             :                                    RefPtr<MediaSessionConduit>* aConduitp);
      50             : 
      51             :   nsresult GetOrCreateVideoConduit(const JsepTrackPair& aTrackPair,
      52             :                                    const JsepTrack& aTrack,
      53             :                                    RefPtr<MediaSessionConduit>* aConduitp);
      54             : 
      55             :   nsresult CreateOrGetTransportFlow(size_t aLevel, bool aIsRtcp,
      56             :                                     const JsepTransport& transport,
      57             :                                     RefPtr<TransportFlow>* out);
      58             : 
      59             :   nsresult GetTransportParameters(const JsepTrackPair& aTrackPair,
      60             :                                   const JsepTrack& aTrack,
      61             :                                   size_t* aLevelOut,
      62             :                                   RefPtr<TransportFlow>* aRtpOut,
      63             :                                   RefPtr<TransportFlow>* aRtcpOut,
      64             :                                   nsAutoPtr<MediaPipelineFilter>* aFilterOut);
      65             : 
      66             :   nsresult ConfigureVideoCodecMode(const JsepTrack& aTrack,
      67             :                                    VideoSessionConduit& aConduit);
      68             : 
      69             : private:
      70             :   // Not owned, and assumed to exist as long as the factory.
      71             :   // The factory is a transient object, so this is fairly easy.
      72             :   PeerConnectionMedia* mPCMedia;
      73             :   PeerConnectionImpl* mPC;
      74             : };
      75             : 
      76             : } // namespace mozilla
      77             : 
      78             : #endif

Generated by: LCOV version 1.13