mirror of
https://github.com/tuxbox-neutrino/libstb-hal.git
synced 2025-08-27 07:23:11 +02:00
Merge pull request #1 from tuxbox-neutrino/master
Some fixes by Jacek. :)
This commit is contained in:
@@ -224,7 +224,30 @@ void ADec::getAudioInfo(int &type, int &layer, int &freq, int &bitrate, int &mod
|
|||||||
mode = 0; /* default: stereo */
|
mode = 0; /* default: stereo */
|
||||||
printf("cAudio::getAudioInfo c %p\n", c);
|
printf("cAudio::getAudioInfo c %p\n", c);
|
||||||
if (c) {
|
if (c) {
|
||||||
type = (c->codec_id != AV_CODEC_ID_MP2); /* only mpeg / not mpeg is indicated */
|
switch (c->codec_id) {
|
||||||
|
case AV_CODEC_ID_MP2:
|
||||||
|
type = AUDIO_FMT_MPEG;
|
||||||
|
break;
|
||||||
|
case AV_CODEC_ID_MP3:
|
||||||
|
type = AUDIO_FMT_MP3;
|
||||||
|
break;
|
||||||
|
case AV_CODEC_ID_AC3:
|
||||||
|
case AV_CODEC_ID_TRUEHD:
|
||||||
|
type = AUDIO_FMT_DOLBY_DIGITAL;
|
||||||
|
break;
|
||||||
|
case AV_CODEC_ID_EAC3:
|
||||||
|
type = AUDIO_FMT_DD_PLUS;
|
||||||
|
break;
|
||||||
|
case AV_CODEC_ID_AAC:
|
||||||
|
type = AUDIO_FMT_AAC;
|
||||||
|
break;
|
||||||
|
case AV_CODEC_ID_DTS:
|
||||||
|
type = AUDIO_FMT_DTS;
|
||||||
|
break;
|
||||||
|
case AV_CODEC_ID_MLP:
|
||||||
|
type = AUDIO_FMT_MLP;
|
||||||
|
break;
|
||||||
|
}
|
||||||
freq = c->sample_rate;
|
freq = c->sample_rate;
|
||||||
bitrate = c->bit_rate;
|
bitrate = c->bit_rate;
|
||||||
if (c->channels == 1)
|
if (c->channels == 1)
|
||||||
|
@@ -420,7 +420,32 @@ void VDec::getPictureInfo(int &width, int &height, int &rate)
|
|||||||
{
|
{
|
||||||
width = dec_w;
|
width = dec_w;
|
||||||
height = dec_h;
|
height = dec_h;
|
||||||
|
switch (dec_r) {
|
||||||
|
case 23://23.976fps
|
||||||
|
rate = VIDEO_FRAME_RATE_23_976;
|
||||||
|
break;
|
||||||
|
case 24:
|
||||||
|
rate = VIDEO_FRAME_RATE_24;
|
||||||
|
break;
|
||||||
|
case 25:
|
||||||
|
rate = VIDEO_FRAME_RATE_25;
|
||||||
|
break;
|
||||||
|
case 29://29,976fps
|
||||||
|
rate = VIDEO_FRAME_RATE_29_97;
|
||||||
|
break;
|
||||||
|
case 30:
|
||||||
|
rate = VIDEO_FRAME_RATE_30;
|
||||||
|
break;
|
||||||
|
case 50:
|
||||||
|
rate = VIDEO_FRAME_RATE_50;
|
||||||
|
break;
|
||||||
|
case 60:
|
||||||
|
rate = VIDEO_FRAME_RATE_60;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
rate = dec_r;
|
rate = dec_r;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cVideo::SetSyncMode(AVSYNC_TYPE)
|
void cVideo::SetSyncMode(AVSYNC_TYPE)
|
||||||
@@ -679,6 +704,10 @@ static bool swscale(unsigned char *src, unsigned char *dst, int sw, int sh, int
|
|||||||
sws_freeContext(scale);
|
sws_freeContext(scale);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
bool cVideo::GetScreenImage(unsigned char * &data, int &xres, int &yres, bool get_video, bool get_osd, bool scale_to_video)
|
||||||
|
{
|
||||||
|
return vdec->GetScreenImage(data, xres,yres,get_video,get_osd,scale_to_video);
|
||||||
|
}
|
||||||
|
|
||||||
bool VDec::GetScreenImage(unsigned char * &data, int &xres, int &yres, bool get_video, bool get_osd, bool scale_to_video)
|
bool VDec::GetScreenImage(unsigned char * &data, int &xres, int &yres, bool get_video, bool get_osd, bool scale_to_video)
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user