[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#638566: Needs to be adapted for libav/0.7.1



The patch.
diff -aur avifile-0.7.48~20090503.ds.orig/lib/aviread/FFReadHandler.cpp avifile-0.7.48~20090503.ds/lib/aviread/FFReadHandler.cpp
--- avifile-0.7.48~20090503.ds.orig/lib/aviread/FFReadHandler.cpp	2009-05-01 20:56:45.000000000 +0200
+++ avifile-0.7.48~20090503.ds/lib/aviread/FFReadHandler.cpp	2011-08-20 12:07:23.000000000 +0200
@@ -122,8 +122,8 @@
     uint_t cnt = 0;
     switch (type)
     {
-    case IStream::Audio: t = CODEC_TYPE_AUDIO; break;
-    case IStream::Video: t = CODEC_TYPE_VIDEO; break;
+    case IStream::Audio: t = AVMEDIA_TYPE_AUDIO; break;
+    case IStream::Video: t = AVMEDIA_TYPE_VIDEO; break;
     default: return 0;
     }
 
@@ -147,8 +147,8 @@
 
     switch (type)
     {
-    case IStream::Audio: t = CODEC_TYPE_AUDIO; break;
-    case IStream::Video: t = CODEC_TYPE_VIDEO; break;
+    case IStream::Audio: t = AVMEDIA_TYPE_AUDIO; break;
+    case IStream::Video: t = AVMEDIA_TYPE_VIDEO; break;
     default: return 0;
     }
 
@@ -228,7 +228,7 @@
     p->SetPos(s.m_uiPosition);
     p->SetTimestamp(((pkt.pts != (int64_t)AV_NOPTS_VALUE) ? pkt.pts : pkt.dts)
 		    * AV_TIME_BASE * ast.time_base.num / ast.time_base.den - s.GetStartTime());
-    if (pkt.flags & PKT_FLAG_KEY)
+    if (pkt.flags & AV_PKT_FLAG_KEY)
 	p->SetFlags(p->GetFlags() | KEYFRAME);
 
     if (p->GetTimestamp() < 0)
@@ -237,16 +237,16 @@
     //AVM_WRITE("FF reader", "st:%d n/d:%d/%d  ts:%" PRId64 " d:%" PRId64 " dur:%d  p:%" PRId64 "\n",
     //          pkt.stream_index, ast.time_base.num, ast.time_base.den,
     //          p->timestamp, pkt.dts, pkt.duration, pkt.pts);
-    //if (ast->codec.codec_type == CODEC_TYPE_VIDEO) printf("FRATE %d pts:%lld %d  %d  t:%lld\n", p->position, pkt.pts,ast->codec.frame_rate_base, ast->codec.frame_rate, p->timestamp);
+    //if (ast->codec.codec_type == AVMEDIA_TYPE_VIDEO) printf("FRATE %d pts:%lld %d  %d  t:%lld\n", p->position, pkt.pts,ast->codec.frame_rate_base, ast->codec.frame_rate, p->timestamp);
     //else printf("Bitrate  %d\n", ast->codec.bit_rate);
     //printf("TIMESTAMP %" PRId64 "   pts: %" PRId64  "  dts: %" PRId64 "\n", p->timestamp, pkt.pts,  pkt.dts);
 
     switch (ast.codec->codec_type)
     {
-    case CODEC_TYPE_AUDIO:
+    case AVMEDIA_TYPE_AUDIO:
 	s.m_uiPosition += pkt.size;
 	break;
-    case CODEC_TYPE_VIDEO:
+    case AVMEDIA_TYPE_VIDEO:
     default:
 	s.m_uiPosition++;
 	break;
diff -aur avifile-0.7.48~20090503.ds.orig/lib/aviread/FFReadStream.cpp avifile-0.7.48~20090503.ds/lib/aviread/FFReadStream.cpp
--- avifile-0.7.48~20090503.ds.orig/lib/aviread/FFReadStream.cpp	2009-05-03 10:56:34.000000000 +0200
+++ avifile-0.7.48~20090503.ds/lib/aviread/FFReadStream.cpp	2011-08-20 12:07:23.000000000 +0200
@@ -70,7 +70,7 @@
 	    if (codec && avcodec_open(m_pAvContext, codec) == 0)
 	    {
 		m_pAvContext->flags |= CODEC_FLAG_TRUNCATED;
-		m_pAvContext->hurry_up = 5;
+		m_pAvContext->skip_frame = AVDISCARD_NONKEY;
 		//printf("Opened hurryup decoder %p  %p\n", codec, m_pAvContext->codec->decode);
 	    }
 	    else
@@ -157,7 +157,7 @@
 
 	switch (avs->codec->codec_type)
 	{
-	case CODEC_TYPE_AUDIO:
+	case AVMEDIA_TYPE_AUDIO:
 	    m_StreamInfo.m_p->setAudio(avs->codec->channels,
 				       avs->codec->sample_rate,
 				       avs->codec->frame_bits);
@@ -166,7 +166,7 @@
 	    AVM_WRITE("FF stream", "Audio Format:  %.4s (0x%x)\n",
 		      (const char*)&avs->codec->codec_tag, avs->codec->codec_tag);
 	    break;
-	case CODEC_TYPE_VIDEO:
+	case AVMEDIA_TYPE_VIDEO:
 	    m_StreamInfo.m_p->setVideo(avs->codec->width, avs->codec->height,
 				       0, (float)avs->codec->sample_aspect_ratio.num /
 				       (float)avs->codec->sample_aspect_ratio.den);
@@ -205,8 +205,8 @@
 {
     switch (m_pHandler->m_pContext->streams[m_uiSId]->codec->codec_type)
     {
-    case CODEC_TYPE_AUDIO: return IStream::Audio;
-    case CODEC_TYPE_VIDEO: return IStream::Video;
+    case AVMEDIA_TYPE_AUDIO: return IStream::Audio;
+    case AVMEDIA_TYPE_VIDEO: return IStream::Video;
     default: return IStream::Other;
     }
 }
@@ -218,7 +218,7 @@
     int tag = get_fcc(avs->codec->codec_id);
     switch (avs->codec->codec_type)
     {
-    case CODEC_TYPE_AUDIO:
+    case AVMEDIA_TYPE_AUDIO:
 	if (format && size >= sizeof(WAVEFORMATEX))
 	{
 	    WAVEFORMATEX& wfx = *(WAVEFORMATEX*)format;
@@ -264,7 +264,7 @@
 	}
 	return (tag ? sizeof(WAVEFORMATEX) : sizeof(FFMPEGWAVEFORMATEX))
 		+ ((avs->codec->extradata) ? avs->codec->extradata_size : 0);
-    case CODEC_TYPE_VIDEO:
+    case AVMEDIA_TYPE_VIDEO:
 	if (format && size >= sizeof(BITMAPINFOHEADER))
 	{
 	    memset(format, 0, sizeof(BITMAPINFOHEADER));
@@ -354,7 +354,7 @@
     return m_pHandler->seek(time);
     if (time < 1.)
     {
-	if (m_pAvStream->codec->codec_type == CODEC_TYPE_AUDIO)
+	if (m_pAvStream->codec->codec_type == AVMEDIA_TYPE_AUDIO)
 	    // check if more streams are available
 	    // and seek only with the video
 	    return 0;

Reply to: