Skip to content

Memo originalsource

DameNegi edited this page Oct 21, 2010 · 1 revision
common.h
IPアドレスクラス GnutellaIDクラス ログなど
cstream.h

ChannelStream class ChanPacket; チャンネルのパケット 種類は

T_UNKNOWN = 0, T_HEAD = 1, たぶんヘッダ T_DATA = 2, たぶん中身 T_META = 4, たぶんメタデータ T_PCP = 16, ぴあきゃすストリーム? T_ALL = 0xff たぶんマスク

class ChanPacketv; アライメントとっただけのChanPacket? class ChanPacketBuffer チャンネルパケットキューっぽい リングバッファか class ChannelStream チャンネルのリレー自体を表すクラス

channel.h
class TrackInfo
String contact,title,artist,album,genre;
class ChanInfo

チャンネル情報 ::String name; GnuID id,bcID; int bitrate; TYPE contentType; enum PROTOCOL {

SP_UNKNOWN, SP_PEERCAST, ///<昔のプロトコルっぽい SP_HTTP, SP_FILE, SP_MMS, SP_PCP ///<今のプロトコルっぽい

} srcProtocol; ///< ソースのプロトコル unsigned int lastPlayStart,lastPlayEnd; unsigned int numSkips; unsigned int createdTime; STATUS status; TrackInfo track; ::String desc,genre,url,comment;

class ChanHitList
リレー検索結果ツリー
class ChanHit
リレーノード情報
class ChanHitSearch
どこにぶらさがるか検索するクラス
class ChanMeta
チャンネルのメタデータ?
class RawStream : public ChannelStream
指定ストリームから生データを読み込んでチャンネルに渡す
class PeercastStream : public ChannelStream
指定ストリームからピアキャスデータを読み込んでチャンネルに渡す
class ChannelSource
virtual void stream(Channel *) = 0;
class PeercastSource : public ChannelSource
チャンネル接続管理?
class Channel
チャンネルスレッド?
class ChanMgr
チャンネル全部持ってるひと

class PlayList

gnutella.h
Gnutella関係のなんか
html-xml.h
HTML組み立て
html.h
HTML組み立て
http.h
HTTPサーバ
icy.h
class ICYSource : public ChannelSource ShoutCast/ICECastのプロトコル?
id.h
チャンネルIDクラス
identify_encoding.h
  • 漢字コードの判別し、iconv 用の文字エンコーディング文字列を返す
inifile.h
iniファイル
jis.h
class JISConverter
static unsigned short sjisToUnicode(unsigned short); static unsigned short eucToUnicode(unsigned short);
mms.h
class MMSStream : public ChannelStream MMSからデータを拾ってくるストリーム 生ストリームからASFパケットを切り出してChannelに設定する
mp3.h
class MP3Stream : public ChannelStream MP3からデータを拾ってくるストリーム
nsv.h
class NSVStream : public ChannelStream NSVからデータを拾ってくるストリーム
ogg.h
class OggPacket class OggSubStream class OggVorbisSubStream : public OggSubStream class OggTheoraSubStream : public OggSubStream class OggPage class OGGStream : public ChannelStream OGGからデータを拾ってくるストリーム VorbisとTheoraだけ取り出して何かしてる
pcp.h
class PCPStream : public ChannelStream ぴあきゃすネットワークからデータを拾ってくるストリーム 入力ストリームになぜかパケット書き込む?
peercast.h

ピアキャスコア起動部分 class PeercastApplication

アプリケーションが実装すべきインターフェース
class PeercastInstance
アプリケーションからアクセスできるピアキャス本体
rtsp.h
HTTPから継承…するだけ。 たぶんちゃんと実装されてない。
servant.h
//Servent handles the actual connection between clients class Servent
servhs.cpp
// Servent handshaking, TODO: should be in its own class
servhtml.cpp
// HTML support for servents, TODO: should be in its own class html作ってる
servmgr.h
// Management class for handling multiple servent connections. serventの管理をするクラス
socket.h
ソケットラッパ
stats.h
// Statistic logging 統計ログ用のクラス
stream.h
生ストリームの抽象化とラッピング class Stream class FileStream : public Stream class MemoryStream : public Stream class IndirectStream : public Stream ストリームプロキシ class SockBufStream : public Stream class WriteBufferStream : public Stream
sys.h
class String class Random class Sys システム抽象化インターフェース class WEvent イベントオブジェクト class WLock Mutexオブジェクト class WLockBlock WLockのラッパ?意味なさげ class ThreadInfo スレッドのラッパ? class LogBuffer ログの書き出し先? class LockBlock WLockのラッパ?WLockBlockとかぶってね?
url.h
class URLSource : public ChannelSource URLからストリームを決定して次のプレイリストにつっこむソース
utf8.h
UTF-8から文字コード変換する void convert_set_charset(const char *charset); int utf8_encode(const char *from, char **to); int utf8_decode(const char *from, char **to);
version2.h
バージョン情報なんか
xml.h
XML操作クラス class XML
Clone this wiki locally