stream.cpp
上传用户:riyaled888
上传日期:2009-03-27
资源大小:7338k
文件大小:2k
源码类别:

多媒体

开发平台:

MultiPlatform

  1. /*****************************************************************************
  2.  * time.cpp
  3.  *****************************************************************************
  4.  * Copyright (C) 2003 VideoLAN
  5.  * $Id: stream.cpp 8031 2004-06-22 21:55:50Z gbazin $
  6.  *
  7.  * Authors: Olivier Teuli鑢e <ipkiss@via.ecp.fr>
  8.  *
  9.  * This program is free software; you can redistribute it and/or modify
  10.  * it under the terms of the GNU General Public License as published by
  11.  * the Free Software Foundation; either version 2 of the License, or
  12.  * (at your option) any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with this program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
  22.  *****************************************************************************/
  23. #include <stdio.h>  // snprintf
  24. #include "stream.hpp"
  25. #include "../utils/ustring.hpp"
  26. #include "../src/os_factory.hpp"
  27. #include <vlc/input.h>
  28. void Stream::set( const UString &name, bool updateVLC )
  29. {
  30.     VarText::set( name );
  31.     // Avoid looping forever...
  32.     if( updateVLC )
  33.     {
  34.         // We have nothing to do here, until we decide that the user
  35.         // can change a stream name on the fly...
  36.     }
  37. }
  38. const string Stream::getAsStringName() const
  39. {
  40.     string fullName = getAsStringFullName();
  41.     // XXX: This should be done in VLC core, not here...
  42.     // Remove path information if any
  43.     OSFactory *pFactory = OSFactory::instance( getIntf() );
  44.     string::size_type pos = fullName.rfind( pFactory->getDirSeparator() );
  45.     if( pos != string::npos )
  46.     {
  47.         fullName = fullName.substr( pos + 1, fullName.size() - pos + 1 );
  48.     }
  49.     return fullName;
  50. }
  51. const string Stream::getAsStringFullName() const
  52. {
  53.     string ret;
  54.     // XXX: we are not using geIntf()->p_sys->p_input direclty here, because it
  55.     // is not updated by VlcProc yet. Anyway, we shouldn't need to do that,
  56.     // because VLC core should provide getter functions for the stream name...
  57.     if( getIntf()->p_sys->p_playlist->p_input == NULL )
  58.     {
  59.         ret = "";
  60.     }
  61.     else
  62.     {
  63. #warning "FIXME!"
  64.         ret = getIntf()->p_sys->p_playlist->p_input->input.p_item->psz_uri;
  65.     }
  66.     return ret;
  67. }