Merge change 22991 into eclair
* changes: Apparently setting the preferred role of the OMX component is now required on this platform.
This commit is contained in:
@@ -499,15 +499,25 @@ void OMXCodec::setVideoOutputFormat(
|
|||||||
// Enabling this code appears to be the right thing(tm), but,...
|
// Enabling this code appears to be the right thing(tm), but,...
|
||||||
// the TI decoder then loses the ability to output YUV420 and only outputs
|
// the TI decoder then loses the ability to output YUV420 and only outputs
|
||||||
// YCbYCr (16bit)
|
// YCbYCr (16bit)
|
||||||
|
|
||||||
#if 1
|
#if 1
|
||||||
if (!strcmp("OMX.TI.Video.Decoder", mComponentName)
|
if (!strcmp("OMX.TI.Video.Decoder", mComponentName)) {
|
||||||
&& !strcasecmp("video/avc", mime)) {
|
|
||||||
OMX_PARAM_COMPONENTROLETYPE role;
|
OMX_PARAM_COMPONENTROLETYPE role;
|
||||||
role.nSize = sizeof(role);
|
role.nSize = sizeof(role);
|
||||||
role.nVersion.s.nVersionMajor = 1;
|
role.nVersion.s.nVersionMajor = 1;
|
||||||
role.nVersion.s.nVersionMinor = 1;
|
role.nVersion.s.nVersionMinor = 1;
|
||||||
|
|
||||||
|
if (!strcasecmp("video/avc", mime)) {
|
||||||
strncpy((char *)role.cRole, "video_decoder.avc",
|
strncpy((char *)role.cRole, "video_decoder.avc",
|
||||||
OMX_MAX_STRINGNAME_SIZE - 1);
|
OMX_MAX_STRINGNAME_SIZE - 1);
|
||||||
|
} else if (!strcasecmp("video/mp4v-es", mime)) {
|
||||||
|
strncpy((char *)role.cRole, "video_decoder.mpeg4",
|
||||||
|
OMX_MAX_STRINGNAME_SIZE - 1);
|
||||||
|
} else if (!strcasecmp("video/3gpp", mime)) {
|
||||||
|
strncpy((char *)role.cRole, "video_decoder.h263",
|
||||||
|
OMX_MAX_STRINGNAME_SIZE - 1);
|
||||||
|
}
|
||||||
|
|
||||||
role.cRole[OMX_MAX_STRINGNAME_SIZE - 1] = '\0';
|
role.cRole[OMX_MAX_STRINGNAME_SIZE - 1] = '\0';
|
||||||
|
|
||||||
status_t err = mOMX->set_parameter(
|
status_t err = mOMX->set_parameter(
|
||||||
|
|||||||
Reference in New Issue
Block a user