资源简介
基于live555实现的rtsp点播客户端,并将实时视频流转存为H264文件
代码片段和文件信息
/**********
This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2.1 of the License or (at your
option) any later version. (See .)
This library is distributed in the hope that it will be useful but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
more details.
You should have received a copy of the GNU Lesser General Public License
along with this library; if not write to the Free Software Foundation Inc.
51 Franklin Street Fifth Floor Boston MA 02110-1301 USA
**********/
// Copyright (c) 1996-2014 Live Networks Inc. All rights reserved.
// Basic Hash Table implementation
// Implementation
#include “BasicHashTable.hh“
#include “strDup.hh“
#if defined(__WIN32__) || defined(_WIN32)
#else
#include
#endif
#include
#include
// When there are this many entries per bucket on average rebuild
// the table to increase the number of buckets
#define REBUILD_MULTIPLIER 3
BasicHashTable::BasicHashTable(int keyType)
: fBuckets(fStaticBuckets) fNumBuckets(SMALL_HASH_TABLE_SIZE)
fNumEntries(0) fRebuildSize(SMALL_HASH_TABLE_SIZE*REBUILD_MULTIPLIER)
fDownShift(28) fMask(0x3) fKeyType(keyType) {
for (unsigned i = 0; i < SMALL_HASH_TABLE_SIZE; ++i) {
fStaticBuckets[i] = NULL;
}
}
BasicHashTable::~BasicHashTable() {
// Free all the entries in the table:
for (unsigned i = 0; i < fNumBuckets; ++i) {
TableEntry* entry;
while ((entry = fBuckets[i]) != NULL) {
deleteEntry(i entry);
}
}
// Also free the bucket array if it was dynamically allocated:
if (fBuckets != fStaticBuckets) delete[] fBuckets;
}
void* BasicHashTable::Add(char const* key void* value) {
void* oldValue;
unsigned index;
TableEntry* entry = lookupKey(key index);
if (entry != NULL) {
// There‘s already an item with this key
oldValue = entry->value;
} else {
// There‘s no existing entry; create a new one:
entry = insertNewEntry(index key);
oldValue = NULL;
}
entry->value = value;
// If the table has become too large rebuild it with more buckets:
if (fNumEntries >= fRebuildSize) rebuild();
return oldValue;
}
Boolean BasicHashTable::Remove(char const* key) {
unsigned index;
TableEntry* entry = lookupKey(key index);
if (entry == NULL) return False; // no such entry
deleteEntry(index entry);
return True;
}
void* BasicHashTable::Lookup(char const* key) const {
unsigned index;
TableEntry* entry = lookupKey(key index);
if (entry == NULL) return NULL; // no such entry
return entry->value;
}
unsigned BasicHashTable::numEntries() const {
return fNumEntries;
}
BasicHashTable::Iterator::Iterator(BasicHashTable const& table)
: fTable(table) fNextIndex(0)
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 37158912 2018-10-11 20:05 testRTSPClient\ipch\testrtspclient-77444536\testrtspclient-707ae854.ipch
文件 7664 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\BasicHashTable.cpp
文件 10241 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\BasicTaskScheduler.cpp
文件 7512 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\BasicTaskScheduler0.cpp
文件 2437 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\BasicUsageEnvironment.cpp
文件 319972 2014-08-05 21:47 testRTSPClient\live555\BasicUsageEnvironment\BasicUsageEnvironment.lib
文件 2622 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\BasicUsageEnvironment0.cpp
文件 6416 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\DelayQueue.cpp
文件 3475 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\include\BasicHashTable.hh
文件 3196 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\include\BasicUsageEnvironment.hh
文件 3712 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\include\BasicUsageEnvironment0.hh
文件 354 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\include\BasicUsageEnvironment_version.hh
文件 4650 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\include\DelayQueue.hh
文件 2195 2014-07-13 20:08 testRTSPClient\live555\BasicUsageEnvironment\include\HandlerSet.hh
文件 2887 2014-07-13 20:08 testRTSPClient\live555\groupsock\GroupEId.cpp
文件 19319 2014-07-13 20:08 testRTSPClient\live555\groupsock\Groupsock.cpp
文件 484968 2014-08-05 21:47 testRTSPClient\live555\groupsock\groupsock.lib
文件 26173 2014-07-30 11:49 testRTSPClient\live555\groupsock\GroupsockHelper.cpp
文件 2814 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\GroupEId.hh
文件 6704 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\Groupsock.hh
文件 5052 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\GroupsockHelper.hh
文件 294 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\groupsock_version.hh
文件 1122 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\IOHandlers.hh
文件 4619 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\NetAddress.hh
文件 3226 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\NetCommon.h
文件 3844 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\NetInterface.hh
文件 3455 2014-07-13 20:08 testRTSPClient\live555\groupsock\include\TunnelEncaps.hh
文件 14677 2014-07-13 20:08 testRTSPClient\live555\groupsock\inet.c
文件 2012 2014-07-13 20:08 testRTSPClient\live555\groupsock\IOHandlers.cpp
文件 8848 2014-07-13 20:08 testRTSPClient\live555\groupsock\NetAddress.cpp
............此处省略388个文件信息
相关资源
- onvif协议视频转码推流网页播放
- 流媒体相关协议标准RTP/RTSP/RTCP PDF文档
- H264实时编码RTSP直播
- SDK播放器加速.zip
- 将rtsp转码为flv格式用于h5播放前端使
- rtsp-h264.zip
- websocket-rtsp-proxy-test.zip
- MP4v2录制rtsp流存为MP4文件
- rtsp摄像头推流上云使用浏览器播放
-
ijkpla
yer 最新rtsp .ts so库 - rtsp大全
- rtsp视频组帧(tcp和udp)
-
能够播放rtsp的ijkpla
yer动态库 - qt5.8实现rtsp流播放
- RtspRtcpRtpLoad_h264.tar.gz
- live555通过VS2013编译,自己整理的,附
- 简单的RTSP RTP RTCP推送H264码流服务器实
- 支持高版本谷歌播放rtsp的插件vxg me
- rtsp 服务器代码,VC可编译使用,RTS
- RTSP流媒体客户端播放器demo
- FLV测试文件,亲身验证,用过VLC可以
- RTSP_RFC2326(中文版).pdf
- zw_csharp_ffmpeg_rtsp_demo.zip
- live555Camera摄像头直播
- h264码流rtp传输demo
- ActiveX RTSP实时流媒体播放器 支持录像
- onvif rtsp流对接
- Linux基于Live555获取rstp实时264视频流并
- VLC播放RTSP流
- 获取摄像头ip与视频流
评论
共有 条评论