mirror of https://github.com/mpv-player/mpv
some minor fixes
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2929 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
6200381409
commit
9fc1c333f7
|
@ -4,6 +4,7 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
#include <string.h> /* strtok */
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "mp_msg.h"
|
#include "mp_msg.h"
|
||||||
|
@ -80,7 +81,8 @@ static void vivo_parse_text_header(demuxer_t *demux, int header_len)
|
||||||
if (!strcmp(opt, "Version"))
|
if (!strcmp(opt, "Version"))
|
||||||
{
|
{
|
||||||
mp_msg(MSGT_DEMUX, MSGL_DBG2, "Version: %s\n", param);
|
mp_msg(MSGT_DEMUX, MSGL_DBG2, "Version: %s\n", param);
|
||||||
if (atoi(param) == 1 || atoi(param) == 2)
|
if (!strncmp(param, "Vivo/1", 6) || !strncmp(param, "Vivo/2", 6))
|
||||||
|
// if (atoi(param) == 1 || atoi(param) == 2)
|
||||||
priv->supported = 1;
|
priv->supported = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -183,26 +185,25 @@ int vivo_check_file(demuxer_t* demuxer){
|
||||||
len+=c;
|
len+=c;
|
||||||
printf("header block 1 size: %d\n",len);
|
printf("header block 1 size: %d\n",len);
|
||||||
//stream_skip(demuxer->stream,len);
|
//stream_skip(demuxer->stream,len);
|
||||||
stream_read(demuxer->stream,buf,len);
|
|
||||||
buf[len]=0;
|
priv=malloc(sizeof(vivo_priv_t));
|
||||||
// printf("VIVO header: '%s'\n",buf);
|
memset(priv,0,sizeof(vivo_priv_t));
|
||||||
|
demuxer->priv=priv;
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
vivo_parse_text_header(demuxer, len);
|
vivo_parse_text_header(demuxer, len);
|
||||||
if (priv->supported == 0)
|
if (priv->supported == 0)
|
||||||
return 0;
|
return 0;
|
||||||
#else
|
#else
|
||||||
|
/* this is enought for check (for now) */
|
||||||
|
stream_read(demuxer->stream,buf,len);
|
||||||
|
buf[len]=0;
|
||||||
|
// printf("VIVO header: '%s'\n",buf);
|
||||||
|
|
||||||
// parse header:
|
// parse header:
|
||||||
i=0;
|
i=0;
|
||||||
while(i<len && buf[i]==0x0D && buf[i+1]==0x0A) i+=2; // skip empty lines
|
while(i<len && buf[i]==0x0D && buf[i+1]==0x0A) i+=2; // skip empty lines
|
||||||
if(strncmp(buf+i,"Version:Vivo/",13)) return 0; // bad version/type!
|
if(strncmp(buf+i,"Version:Vivo/",13)) return 0; // bad version/type!
|
||||||
|
|
||||||
priv=malloc(sizeof(vivo_priv_t));
|
|
||||||
memset(priv,0,sizeof(vivo_priv_t));
|
|
||||||
demuxer->priv=priv;
|
|
||||||
|
|
||||||
// TODO: parse FPS and other info (display title/author etc)
|
|
||||||
priv->fps=10.0; // FIXME (parse from header)
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
|
@ -360,7 +361,7 @@ static unsigned int x_get_bits(int n){
|
||||||
/* most is hardcoded. should extend to handle all h263 streams */
|
/* most is hardcoded. should extend to handle all h263 streams */
|
||||||
static int h263_decode_picture_header(unsigned char *b_ptr)
|
static int h263_decode_picture_header(unsigned char *b_ptr)
|
||||||
{
|
{
|
||||||
int i;
|
// int i;
|
||||||
|
|
||||||
// for(i=0;i<16;i++) printf(" %02X",b_ptr[i]); printf("\n");
|
// for(i=0;i<16;i++) printf(" %02X",b_ptr[i]); printf("\n");
|
||||||
|
|
||||||
|
@ -467,10 +468,12 @@ void demux_open_vivo(demuxer_t* demuxer){
|
||||||
|
|
||||||
sh->format=0x6f766976; // "vivo"
|
sh->format=0x6f766976; // "vivo"
|
||||||
if(!sh->fps)
|
if(!sh->fps)
|
||||||
|
{
|
||||||
if (priv->fps)
|
if (priv->fps)
|
||||||
sh->fps=priv->fps;
|
sh->fps=priv->fps;
|
||||||
else
|
else
|
||||||
sh->fps=15.0f;
|
sh->fps=15.0f;
|
||||||
|
}
|
||||||
sh->frametime=1.0f/sh->fps;
|
sh->frametime=1.0f/sh->fps;
|
||||||
|
|
||||||
#warning "FIXME! we can't scale"
|
#warning "FIXME! we can't scale"
|
||||||
|
@ -505,7 +508,9 @@ void demux_open_vivo(demuxer_t* demuxer){
|
||||||
demuxer->video->sh=sh; sh->ds=demuxer->video;
|
demuxer->video->sh=sh; sh->ds=demuxer->video;
|
||||||
demuxer->video->id=0;
|
demuxer->video->id=0;
|
||||||
|
|
||||||
printf("VIVO Video stream %d size: display: %dx%d, codec: %dx%d\n",
|
demuxer->seekable = 0;
|
||||||
|
|
||||||
|
printf("VIVO Video stream %d size: display: %dx%d, codec: %lux%lu\n",
|
||||||
demuxer->video->id, sh->disp_w, sh->disp_h, sh->bih->biWidth,
|
demuxer->video->id, sh->disp_w, sh->disp_h, sh->bih->biWidth,
|
||||||
sh->bih->biHeight);
|
sh->bih->biHeight);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue