ENGLISH 意见建议 网站地图 网站帮助
广泛智力汇聚   高效成果传播   先进机制培育
联盟首页  |  协同开发  |  开放源码库  |  安全告警  |  开源导航  |  文档中心  |  服务支持  |  共创论坛  |  关于联盟


注册会员 网站帮助
    您的位置 »
    今天是: 2010年11月22日    
项目搜索

完全匹配   
开源软件
软件分类表
新发布软件
其它网站镜像
代码片断
协同开发
文档
论坛
寻求协助
热点项目
站点状态
编译工厂

联系我们
关于联盟

代码片段库:
查看代码片段

浏览 | 提交新的代码片段 | 创建代码包

mms协议中的快进快退

类型:
Sample Code (HOWTO)
类别:
File Management
许可证:
GNU General Public License
语言:
C
 
描述:
补充mplayer的mms协议部分([email protected] /> )

该代码片段的版本系列:

片段ID 下载版本 提交时间 提交人 删除
48620.12005-09-19 10:13zhaott

点击"下载版本"来下载该代码片段.


最新版本的代码片段: 0.1


[email protected]
数字转换:
static double internalEndianMagic = 7.949928895127363e-275;//
#define TRIO_DOUBLE_INDEX(x) (((unsigned char *)&internalEndianMagic)[7-(x)])


double decimal64_to_number(unsigned char *values)
{
		double result = 0;
		int i = 0;
		
		if(values != NULL)
		{
				for (i = 0; i < (int)sizeof(double); i++)
				{
						((unsigned char *)&result)[TRIO_DOUBLE_INDEX(i)] = values[i];
				}
		}
		return result;
}

unsigned char* number_to_decimal64(double values,unsigned char* result)
{
	int i = 0;

	result[8]= 0;
	for (i = 0; i < (int)sizeof(double); i++)
	{
			result[i] = ((unsigned char *)&values)[TRIO_DOUBLE_INDEX(i)];
	}

	return result;
}
快进快退
int asf_mmst_streaming_speed(stream_t *stream,int nspeed)
{
		char data[40+1];
		int i = 0;
		unsigned char result[8+1];		
		char* s = 0;
	
		memset (data, 0, 40);
		memset (result, 0, 8+1);
		net_empty(stream->fd);

		memset(&asf_audio_packet,0,sizeof(demux_packet_t));
		asf_audio_packet.len = 0;
		memset(&asf_video_packet,0,sizeof(demux_packet_t));
		asf_video_packet.len = 0;

				
		s = number_to_decimal64(asf_frametime,result);
		data[0]= s[7];
		data[1]= s[6];
		data[2]= s[5];
		data[3]= s[4];
		data[4]= s[3];
		data[5]= s[2];
		data[6]= s[1];
		data[7]= s[0];

		for(i = 8; i < 16; i ++)
		{
				data[i] = 0xFF;
		}

		data[20] = 0x04;
		
		data[30] = 0x14;
		if(nspeed > 0)
		{
				data[31] = 0x40;
		}else{
				data[31] = 0xC0;
		}
		asf_send_command (stream->fd, 0x28, 1, 0x0001FFFF, 32, data);	
}
		

提交新版本

如果您修改了一个代码片段并且觉得很应该让别人共享,您可以把这作为这个代码片段的最新版本提交上来.


联盟团体会员
合作伙伴
© 共创软件联盟 版权所有
联盟服务条款 | 联盟隐私权规则 | 联系我们
电话: (8610)68313388-5949 | 传真: (8610)88377936
京ICP备05056057号