自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (3)
  • 收藏
  • 关注

原创 windows 平台的信号处理

windows 平台也是有信号处理接口的,而且与 unix 平台很相似。void (__cdecl *signal( int sig, void (__cdecl *func ) (int [, int ] ))) (int);不过支持的信号类型有限,只有下面这几种。sig valueDescriptionSIGAB

2012-07-29 09:10:38 2582

原创 带超时的等待子进程,timed_wait

如果想等待子进程结束,在发送了结束信号(父子进程约定一个退出信号),等待一段时间(比如2秒钟),就强制杀死子进程(SIGKILL),怎么实现呢?首先想到使用一个线程,在线程中sleep 2 秒,然后杀死子进程,如果在这之前子进程已经退出,只不过会在kill时收到一个错误。方法确实有效,不过代价好像大了点。

2012-07-29 09:09:04 1434

原创 关于 android 子进程域名解析失败的问题

场景:android ndk 开发两个进程,一个主进程,一个子进程,主进程创建子进程主进程和子进程都调用getaddrinfo做域名解析现象:主进程域名解析一切OK子进程失败,错误码:HOST_NOT_FOUND 一直以为是android的bug,去网上找,没有任何相关的问题和解答。后来想到创建子进程使用了自己写的一个分装类,不知道直接用fork + exec情

2012-07-29 09:06:26 4535

原创 windows 套接字子进程继承

网络编程模式中,有一种是多进程模式,主进程侦听,收到连接后,启动子进程处理请求,每个连接一个子进程。在linux中通过fork很容易实现,因为fork时子进程继承父进程的文件描述符,套接字也是一种文件描述符。在windows句柄也能够继承,但是必须通过外部方法告诉子进程句柄值,可以通过命令行参数或者环境变量的方式传递。怎么获取套接字的句柄呢?其实套接字本身就是一个句柄,只是平常使用re

2012-07-26 14:49:26 2493

原创 windows下获取进程网络链接状况(包括打开的侦听端口号)

windows下一般都是通过IP Helper系列API接口获取网络状态,获取链接状况的接口是GetExtendedTcpTableDWORD GetExtendedTcpTable( __out PVOID pTcpTable, __inout PDWORD pdwSize, __in BOOL bOrder, __in ULONG ulAf, _

2012-07-26 14:16:45 4752

原创 linux下获取进程网络链接状况(包括打开的侦听端口号)

在做一个本地服务(服务器端和客户端在同一个机器上,通过回环端口直接访问)时,因为端口可能会被其他程序占用,服务器端会尝试找到一个可用端口,客户端需要逐个尝试连接各个端口,并且与服务器端完成一个验证过程,才能最终确认服务器端的侦听端口。即使双方可以约定从某个端口开始,每次加1尝试,提高发现效率,但是实现起来还是要费一番心事的。有没有办法直接获得服务器端程序侦听的端口号呢?我们知道netsta

2012-07-24 17:22:41 6915 1

原创 各平台共享内存的实现方式

UNIX在内存共享问题上,UNIX历史上主要有两个标准:Posix与System V,相比来说Posix标准更符合统一风格要求,与文件系统结合,更易于使用。除了这两个标准,还有一种基于磁盘文件映射的机制。PosixPosix标准提供一种共享内存文件设备,通过访问共享内存文件设备来实现进程间的数据共享。共享内存文件是通过shm_open创建,通过shm_unlink删除,这和普通文件的创

2012-07-23 13:55:32 2469

原创 windows 共享内存使用说明

未完待续

2012-07-23 13:52:45 1409

原创 安全且平台兼容的进程互斥锁

在《进程互斥锁》中,我们看到了实现进程互斥锁的几个常见方案:Posix信号量、System V信号量以及线程锁共享,并且分析了他们的平台兼容性以及严重缺陷。这里要介绍一种安全且平台兼容的进程互斥锁,它是基于文件记录锁实现的。1、文件记录锁UNIX编程的“圣经”《Unix环境高级编程》中有对文件记录锁的详细描述。下载链接:http://dl02.topsage.com/club/co

2012-07-11 20:20:44 3904 2

原创 进程互斥锁

进程间共享数据的保护,需要进程互斥锁。与线程锁不同,进程锁并没有直接的C库支持,但是在Linux平台,要实现进程之间互斥锁,方法有很多,大家不妨回忆一下你所了解的。下面就是标准C库提供的一系列方案。1、实现方案不出意外的话,大家首先想到的应该是信号量(Semaphores)。对信号量的操作函数有两套,一套是Posix标准,另一套是System V标准。Posix信号量sem_t *

2012-07-11 18:13:14 28497 2

原创 播放器适配经验总结——Android

Android的流媒体协议支持不太好,标准只支持RTSP和MP4 over HTTP。因为MP4头部大,启动会比较慢,另外MP4也不适合做直播。当然基于Android的开放性,完全可以自己做一个播放器,难点是要做解码和显示的适配,Android机型太多,这个适配工作量比较大。Android升级到4.0版本应该支持HLS,目前也有一些设备厂商在2.x版本上支持的HLS。但是要做统一的产品,还是只能用

2012-07-06 12:38:20 4866

原创 播放器适配经验总结——IOS

IOS平台统一使用HLS协议,包括M3U8文件和分段TS文件1、抖屏现象:播放中画面动作抖动,好像画面的顺序错乱范围:Mp4文件转成TS,没有问题,ASF转成TS文件,有该现象原因:ASF没有cts_delta字段,TS(PES)中的PTS直接使用DTS,H.264中帧的顺序是DTS顺序,与显示顺序是不同的,B帧会出现在P帧前面,但是在后面显示方案:自己根据帧率和帧的顺序,计算

2012-07-06 11:26:41 8372

原创 MPlayer Win32版本的H.264解码问题

下载了MPlayer-1.1源码并用mingw编译成功了,运行播放了几个视频文件,都OK。然而在测试了更多的视频文件时,出问题了,一直会输出下面的错误消息:A:454786.5 V:454786.5 A-V: 0.031 ct: 0.034 0/ 0 45% 15% 1.6% 23 0[h264 @ 0xdc3f00]Reference 6 >= 3[h264 @ 0xdc

2012-07-04 16:17:03 4729

原创 如何让windows平台多线程DLL完整退出

如果你在windows平台开发动态链接库,并且在链接库启动了内部线程,那么你很有可能发现加载你的DLL的程序在退出时会死锁,有时候虽然主程序界面没有了,但是打开任务管理器,发现进程还在。虽然用户不觉得异常,但是最求完美的你,一定想让程序完整的退出,下面与你分享一下我这几天与这个问题奋战的经验总结。最近做播放器插件开发,基于directshow、vlc、mplayer框架,各做了一个插件,三

2012-07-04 13:36:26 3224 1

T-REC-H.265-201304.pfd

HEVC H 265 标准文档 VPS SPS PPS IDR

2014-08-29

ISO_IEC_14496-15_2013_AVCFF.pdf

MP4格式定义,2013年最新版本,增加HEVC规范

2014-08-29

WinRT 环境下缺失 Windows API 模拟实现

WinRT 环境下很多API没有了,比如socket相关的WSASocket,WSAConnect,线程相关的CreateThread等等,导致很多库不能使用,比如boost,基于这些库的应用如果要移植到WinRT环境下,将不得不修改很多代码,甚至需要重新设计程序结构。 我们的解决方案是通过新加的WinRT类模拟老的Windows API,该方案在boost库上运行测试过。 现在将该方案的相关资源共享给大家,不提供源码,如果需要了解实现细节,请关注我的博客。

2013-09-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除