text: #ifndef VideoDevice_hxx
  #define VideoDevice_hxx
  
  /* ====================================================================
   * The Vovida Software License, Version 1.0 
   * 
   * Copyright (c) 2000 Vovida Networks, Inc.  All rights reserved.
   * 
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   * 
   * 1. Redistributions of source code must retain the above copyright
   *    notice, this list of conditions and the following disclaimer.
   * 
   * 2. Redistributions in binary form must reproduce the above copyright
   *    notice, this list of conditions and the following disclaimer in
   *    the documentation and/or other materials provided with the
   *    distribution.
   * 
   * 3. The names "VOCAL", "Vovida Open Communication Application Library",
   *    and "Vovida Open Communication Application Library (VOCAL)" must
   *    not be used to endorse or promote products derived from this
   *    software without prior written permission. For written
   *    permission, please contact vocal@vovida.org.
   *
   * 4. Products derived from this software may not be called "VOCAL", nor
   *    may "VOCAL" appear in their name, without prior written
   *    permission of Vovida Networks, Inc.
   * 
   * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
   * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
   * NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL VOVIDA
   * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
   * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
   * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
   * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
   * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
   * DAMAGE.
   * 
   * ====================================================================
   * 
   * This software consists of voluntary contributions made by Vovida
   * Networks, Inc. and many individuals on behalf of Vovida Networks,
   * Inc.  For more information on Vovida Networks, Inc., please see
   * <http://www.vovida.org/>.
   *
   */
  static const char* const VideoDevice_hxx_Version =
      "$Id: VideoDevice.hxx,v 1.1 2004/05/01 04:15:25 greear Exp $";
  #include "global.h"
  #include <map>
  #include "MediaDevice.hxx"
  #include "Sdp2Session.hxx"
  
  using Vocal::SDP::SdpSession;
  
  class CLiveConfig;
  namespace Vocal
  {
  
  namespace UA
  {    
  
  /**
   * This class is used as a interface to play to a Video device.
   * The device interfaces to MPEG4IP library to handle transmit/receive
   * of the RTP data.
   */
  class VideoDevice : public MediaDevice
  {
      public:
          ///Creates an interface for a Video device
          VideoDevice(int id);
  
          ///
          ~VideoDevice(void);
  
          ///setup a media session using local and remote SDP
          int setupSession(SdpSession& remoteSdp, SdpSession& localSdp);
  
          ///Starts the media to destination pointed by remoteSdp. 
          int startMedia(SdpSession& remoteSdp);
  
          /// 
          int stop();
  
          ///
          int getMyId() const { return myId; }
  
          ///Based on the network resources available, create a local SDP data
          int generateSdpData(SdpSession& localSdp);
  
          ///
          void shutdown();
  
      private:
          ///
          void processAudio () { };
          ///Nothing to do
          int start() { return 0;};
          ///Nothing to do
          int suspend() { return 0;};
          ///Nothing to do
          int resume() { return 0; };
          ///
          void sinkData(char* data, int length, VCodecType type=G711U) { };
  
          ///
          int myId;
          ///
          unsigned long myHandle;
          ///
          CLiveConfig* myCConfig;
  };
   
  }
  
  }
  
  
  /* Local Variables: */
  /* c-file-style: "stroustrup" */
  /* indent-tabs-mode: nil */
  /* c-file-offsets: ((access-label . -) (inclass . ++)) */
  /* c-basic-offset: 4 */
  /* End: */
  
  #endif
  