You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What steps will reproduce the problem?
Canot select a spécific program id.
What is the expected output? What do you see instead?
Implement a QVideoDecoder method :selectProgram(int programId)
which set the videoStream on programId stream_index.
What version of the product are you using? On what operating system?
version: 23 09 2011
os: win7
Please provide any additional information below.
void QVideoDecoder::setProgram(int programId)
{
int index = -1;
for(int i=0; i<this->pFormatCtx->nb_programs; i++)
{
ffmpeg::AVProgram *program = this->pFormatCtx->programs[i];
if(program->id != programId)
continue;
for(int j=0; j<program->nb_stream_indexes; j++)
{
int sidx1 = program->stream_index[j];
int sidx2 = *program->stream_index;
int ris = sidx2 + j;
ffmpeg::AVStream *avs = this->pFormatCtx->streams[ris];
ffmpeg::AVDiscard avd = avs->discard;
ffmpeg::AVCodecContext *avc = avs->codec;
///ffmpeg::CodecType typ = avc->codec_type;
/*if(/*this->pFormatCtx->streams[ris]->discard
&&* this->pFormatCtx->streams[ris]->codec->codec_type == type)*/
{
index = ris;
break;
}
}
qDebug() << "QVideoDecoder.setProgram(): Program Index=" << program->id;
//qDebug() << "QVideoDecoder.setProgram(): Program Index=" << program->provider_name;
//qDebug() << "QVideoDecoder.setProgram(): Program Name=" << program->name;
qDebug() << "QVideoDecoder.setProgram(): Program Index=" << index;
}
if (index != -1)
{
videoStream=index; // OCA
// Get a pointer to the codec context for the video stream
pCodecCtx=pFormatCtx->streams[videoStream]->codec;
// Find the decoder for the video stream
pCodec=avcodec_find_decoder(pCodecCtx->codec_id);
if(pCodec!=NULL)
{
avcodec_open(pCodecCtx, pCodec);
}
}
}
Original issue reported on code.google.com by [email protected] on 30 Nov 2011 at 9:03
The text was updated successfully, but these errors were encountered:
Original issue reported on code.google.com by
[email protected]
on 30 Nov 2011 at 9:03The text was updated successfully, but these errors were encountered: