unsigned int demux_video_size=2097152;\r
unsigned int demux_audio_size=524288;\r
if (video->supportsh264()) {\r
- demux_video_size*=5*2;//5;\r
- demux_audio_size*=2;\r
+ demux_video_size*=5*1;//5;\r
+ demux_audio_size*=1;\r
}\r
\r
if (!demuxer->init(this, audio, video,teletext, demux_video_size,demux_audio_size,65536, framespersecond, subtitles))\r
void VideoOMX::PrepareMediaSample(const MediaPacketList& mplist,UINT samplepos)
{
+
mediapackets.clear();
list<MediaPacket>::const_iterator begin=mplist.begin();
list<MediaPacket>::const_iterator itty=mplist.begin();
advance(itty,min(mplist.size(),10));
mediapackets.insert(mediapackets.begin(),begin,itty);//front
+
}
UINT VideoOMX::DeliverMediaSample(UCHAR* buffer, UINT *samplepos)
{
int consumed=0;
while (consumed<mediapackets.size()) {
- MediaPacket mediapacket=mediapackets[consumed];
- DeliverMediaPacket(mediapacket, buffer, samplepos);
- if (*samplepos == mediapacket.length) {
+ DeliverMediaPacket(mediapackets[consumed], buffer, samplepos);
+ if (*samplepos == mediapackets[consumed].length) {
*samplepos = 0;
consumed++;
//return 1;