当前位置: 首页 > news >正文

推广网站怎么做能增加咨询郑州网络推广公司排名

推广网站怎么做能增加咨询,郑州网络推广公司排名,怎样给装修公司做网站,商业网站建设目标最近在做安卓下UVC的一个案子。正好之前搞过ST方案的开机广告#xff0c;这个也是我少数最后没搞成功的项目。当时也有点客观原因#xff0c;当时ST要退出机顶盒市场#xff0c;所以一切的支持都停了#xff0c;当时啃他家播放器几十万行的代码#xff0c;而且几乎没有文档…最近在做安卓下UVC的一个案子。正好之前搞过ST方案的开机广告这个也是我少数最后没搞成功的项目。当时也有点客观原因当时ST要退出机顶盒市场所以一切的支持都停了当时啃他家播放器几十万行的代码而且几乎没有文档真的是非常痛苦。后面虽然功能是搞出来了但是不稳定持续几次后就会crash。 还记得当时最后到底层ST是用的滑动窗口缓存双指针一个写指针和一个读指针当时我做了一个管道往缓存中注数据。估计还是没有完全吃透某些细节处理有问题。正好现在又做到类似项目所以简单总结总结相关要点。主要就是共享内存滑动窗口双缓冲环形缓冲这些内容。 下面是一个简单的具有读写指针的循环缓冲区。 #include iostream #include vector #include stdexcepttemplatetypename T class MediaQueue { public:explicit MediaQueue(size_t size): buffer(size), readPtr(0), writePtr(0), count(0), maxSize(size) {}// 添加一个元素到队列中void enqueue(const T item) {if (isFull()) {throw std::overflow_error(Queue is full);}buffer[writePtr] item;writePtr (writePtr 1) % maxSize;count;}// 从队列中读取一个元素T dequeue() {if (isEmpty()) {throw std::underflow_error(Queue is empty);}T item buffer[readPtr];readPtr (readPtr 1) % maxSize;--count;return item;}// 检查队列是否为空bool isEmpty() const {return count 0;}// 检查队列是否已满bool isFull() const {return count maxSize;}// 获取队列中的元素数量size_t size() const {return count;}// 获取队列的最大容量size_t capacity() const {return maxSize;}private:std::vectorT buffer;size_t readPtr;size_t writePtr;size_t count;size_t maxSize; };还有一种叫做乒乓buffer 就是两个buffer一个读一个写写完之后交换。 #include iostream #include vector #include thread #include mutex #include condition_variable #include cstring // For memcpy #include chrono // For sleepclass PingPongBuffer { public:PingPongBuffer(size_t bufferSize): bufferSize(bufferSize), readBufferIndex(0), writeBufferIndex(1), buffers(2, std::vectorchar(bufferSize)) {}// 写入数据到当前写缓冲区void write(const char* data, size_t size) {std::unique_lockstd::mutex lock(mutex);while (writeBufferFull) {condVar.wait(lock);}if (size bufferSize) {throw std::overflow_error(Data size exceeds buffer capacity);}std::memcpy(buffers[writeBufferIndex].data(), data, size);writeBufferFull true;readBufferEmpty false;swapBuffers();condVar.notify_all();}// 从当前读缓冲区读取数据void read(char* data, size_t size) {std::unique_lockstd::mutex lock(mutex);while (readBufferEmpty) {condVar.wait(lock);}if (size bufferSize) {throw std::underflow_error(Data size exceeds buffer capacity);}std::memcpy(data, buffers[readBufferIndex].data(), size);readBufferEmpty true;writeBufferFull false;condVar.notify_all();}private:void swapBuffers() {std::swap(readBufferIndex, writeBufferIndex);}size_t bufferSize;int readBufferIndex;int writeBufferIndex;std::vectorstd::vectorchar buffers;bool readBufferEmpty true;bool writeBufferFull false;std::mutex mutex;std::condition_variable condVar; };void producer(PingPongBuffer buffer) {const char* messages[] {Message 1, Message 2, Message 3};for (const char* message : messages) {std::this_thread::sleep_for(std::chrono::seconds(1)); // Simulate workbuffer.write(message, std::strlen(message) 1);std::cout Produced: message std::endl;} }void consumer(PingPongBuffer buffer) {char data[1024];for (int i 0; i 3; i) {buffer.read(data, 1024);std::cout Consumed: data std::endl;} }int main() {size_t bufferSize 1024;PingPongBuffer buffer(bufferSize);std::thread producerThread(producer, std::ref(buffer));std::thread consumerThread(consumer, std::ref(buffer));producerThread.join();consumerThread.join();return 0; }空了有时间看看V4L2和ffmpeg这方面的内容再更新一下吧。。。
http://www.hkea.cn/news/14371313/

相关文章:

  • 赣州做网站的公司有哪家好网页编辑软件有哪些?
  • 上海的网站建设公司wordpress 关掉缓存
  • 企业网站建设维护方案张家界有实力seo优化费用
  • 南京市建筑工程网站做电商网站的公司简介
  • 深圳南山建设局官方网站久久建筑网解析
  • 网站如何做双链路页面设计读书笔记1500
  • 自己怎样做海外网站茂名优化网站建设
  • deals网站建设宁波网站建设地方
  • 河北住房城乡建设厅官方网站天津公司网站
  • 什么网站可以请人做软件下载网站的建设和推广
  • 网站加网页ui设计前景怎样
  • 如何用asp做网站上海自助建站软件
  • 农安县住房城乡建设局网站深圳建设人力资源网
  • 站长统计app进入网址新版个人网站的首页
  • 石家庄做网站电话php做网站 价格
  • 做网站其实不贵asp网站怎么打开
  • 北京建设银行分行招聘网站专业网站建设公司排名
  • 短网址生成站长工具网页设计要学所有软件吗
  • 张家港保税区规划建设局网站怎么找回网站
  • 搭建网站的英语东莞24小时推广首页
  • 做网站用什么平台手机版网站模板 免费
  • 微站直播平台太原网站建设公司排名
  • 淘宝联盟怎么做自已的网站北京昌平网站设计
  • 襄阳住房和城乡建设局网站首页深圳网站建设首选上榜网络
  • drupal 网站建设网站模版购买
  • 云南网站建设公司排行网站开发有哪些常用工具
  • 正规网站开发流程学校网站建设先进事迹
  • 校体育网站建设的好处桂林生活网招聘信息网
  • 中国水电建设集团网站重庆有什么好玩的
  • 做网站一般有什么题目微信公众号如何做网站