资源简介
标准的live555是从文件中获取视频流,本软件包是获取实时视频流。据据实情更改H264LiveVideoSource::GetFrameData() 运行testOnDemandRTSPServer, VLC rtsp://10.5.91.234:8554/h264LiveVideo
代码片段和文件信息
/**********
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 3 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-2019 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) fN
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 567 2019-01-18 16:04 live555\config.arm
文件 453 2018-12-14 13:16 live555\config.linux-64bit
文件 403 2018-12-14 13:16 live555\config.irix
文件 475 2018-12-14 13:16 live555\config.cygwin
文件 857 2018-12-14 13:16 live555\genWindowsMakefiles.cmd
文件 899 2018-12-14 13:16 live555\config.cris-axis-linux-gnu
文件 713 2018-12-14 13:16 live555\config.bsplinux
文件 429 2018-12-14 13:16 live555\config.alpha
文件 478 2018-12-14 13:16 live555\config.macosx
文件 433 2018-12-14 13:16 live555\config.aix
文件 1422 2018-12-14 13:16 live555\win32config.Borland
文件 547 2018-12-14 13:16 live555\fix-makefile
文件 568 2018-12-14 13:16 live555\config.qnx4
文件 651 2018-12-14 13:16 live555\config.bfin-uclinux
文件 1272 2018-12-14 13:16 live555\config.iphoneos
文件 443 2018-12-14 13:16 live555\config.linux-gdb
文件 103 2018-12-14 13:16 live555\README
文件 49 2018-12-14 13:16 live555\Makefile.head
文件 458 2018-12-14 13:16 live555\#config.macosx#
文件 7651 2018-12-14 13:16 live555\COPYING.LESSER
文件 503 2018-12-14 13:16 live555\genMakefiles
文件 35147 2018-12-14 13:16 live555\COPYING
文件 440 2018-12-14 13:16 live555\config.freebsd
....... 4940 2019-01-18 16:23 live555\liveMedia\MPEG1or2VideoRTPSource.o
....... 7664 2019-01-18 16:23 live555\liveMedia\PassiveServerMediaSubsession.o
文件 6708 2019-01-18 14:53 live555\liveMedia\ByteStreamFileSource.cpp
文件 2789 2018-12-14 13:15 live555\liveMedia\MPEG2TransportStreamFromPESSource.cpp
文件 2274 2018-12-14 13:15 live555\liveMedia\OggFileServerMediaSubsession.cpp
文件 46551 2018-12-14 13:15 live555\liveMedia\H264or5VideoStreamfr
文件 5574 2018-12-14 13:15 live555\liveMedia\MP3FileSource.cpp
............此处省略1180个文件信息
相关资源
- ARM9指令cache的verilog代码
- 基于ARM7处理器的CAN总线网络设计
- 基于ARM和GPRS的无线通信系统设计
- 关于proteus仿真arm7出现错误的问题
- 基于ARM7的LCD显示电压示波系统的设计
- 基于ARM7和DSP的逆变电源设计电路
- 基于ARM开发板的车辆检测系统控制单
- ARM7TDMI-S在嵌入式系统中的Bootloader代码
- ARM汇编指令集PDF
- 基于ARM7 PWM定时器的图像传感器时序信
- 基于ARM7的分布式远程测控系统设计
- LPC2100系列ARM7微控制器加密ARM芯片
- ARM7内核的中断屏蔽方法
- 基于ARM7TDMI微处理器的矿用电子皮带秤
- 基于ARM7微处理器的中文液晶显示
- 基于ARM微处理器的液晶触摸屏接口设
- 解读ARM7内核微控制器以太网接口电路
- 基于ARM7微处理器的智能型甲烷检测器
- ARM7 GPIO LED控制实验高速GPIO与低速GP
- arm cortex m0 rtl code
- 基于PROTEUS的ARM7显示系统设计与仿真实
- 嵌入式实时操作系统μC/OS-II在ARM上的
- 用ARM7和UC/OS-II设计的信号采集系统
- 一种用ARM7+UC/OS-II设计的信号采集系统
- IAR破解已验证可破解最新版本EWARM-C
- 基于ARM的电子相册源码含动态库可运
- Bioleaching of chalcopyrite and marmatite by m
- 一只老鸟的嵌入式ARM学习心得
- 基于ARM44B0x的信号发射机控制器设计与
- STM32F103VCT6TR - High-density performance lin
评论
共有 条评论