diff -bur gst-libav-1.0.6.orig/gst-libs/ext/libav/libavcodec/bink.c gst-libav-1.0.6/gst-libs/ext/libav/libavcodec/bink.c
--- gst-libav-1.0.6.orig/gst-libs/ext/libav/libavcodec/bink.c	2013-03-22 04:34:41.000000000 -1000
+++ gst-libav-1.0.6/gst-libs/ext/libav/libavcodec/bink.c	2013-08-02 13:05:07.717409306 -1000
@@ -1268,13 +1268,12 @@
     static int binkb_initialised = 0;
     int i;
     int flags;
-
-    c->version = avctx->codec_tag >> 24;
-    if (avctx->extradata_size < 4) {
+    if (avctx->extradata_size < 8) {
         av_log(avctx, AV_LOG_ERROR, "Extradata missing or too short\n");
         return -1;
     }
-    flags = AV_RL32(avctx->extradata);
+	 c->version = (AV_RL32(&avctx->extradata[0])) >> 24;
+    flags = AV_RL32(&avctx->extradata[4]);
     c->has_alpha = flags & BINK_FLAG_ALPHA;
     c->swap_planes = c->version >= 'h';
     if (!bink_trees[15].table) {
diff -bur gst-libav-1.0.6.orig/gst-libs/ext/libav/libavformat/bink.c gst-libav-1.0.6/gst-libs/ext/libav/libavformat/bink.c
--- gst-libav-1.0.6.orig/gst-libs/ext/libav/libavformat/bink.c	2013-03-22 04:34:41.000000000 -1000
+++ gst-libav-1.0.6/gst-libs/ext/libav/libavformat/bink.c	2013-08-02 13:03:06.201413513 -1000
@@ -83,8 +83,9 @@
     if (!vst)
         return AVERROR(ENOMEM);
 
-    vst->codec->codec_tag = avio_rl32(pb);
-
+    vst->codec->extradata  = av_mallocz(8 + FF_INPUT_BUFFER_PADDING_SIZE);
+    vst->codec->extradata_size = 8;
+    avio_read(pb, &vst->codec->extradata[0], 4);
     bink->file_size = avio_rl32(pb) + 8;
     vst->duration   = avio_rl32(pb);
 
@@ -114,9 +115,7 @@
 
     vst->codec->codec_type = AVMEDIA_TYPE_VIDEO;
     vst->codec->codec_id   = CODEC_ID_BINKVIDEO;
-    vst->codec->extradata  = av_mallocz(4 + FF_INPUT_BUFFER_PADDING_SIZE);
-    vst->codec->extradata_size = 4;
-    avio_read(pb, vst->codec->extradata, 4);
+    avio_read(pb, &vst->codec->extradata[4], 4);
 
     bink->num_audio_tracks = avio_rl32(pb);
 
@@ -135,18 +134,17 @@
             if (!ast)
                 return AVERROR(ENOMEM);
             ast->codec->codec_type  = AVMEDIA_TYPE_AUDIO;
-            ast->codec->codec_tag   = 0;
             ast->codec->sample_rate = avio_rl16(pb);
             avpriv_set_pts_info(ast, 64, 1, ast->codec->sample_rate);
             flags = avio_rl16(pb);
             ast->codec->codec_id = flags & BINK_AUD_USEDCT ?
                                    CODEC_ID_BINKAUDIO_DCT : CODEC_ID_BINKAUDIO_RDFT;
             ast->codec->channels = flags & BINK_AUD_STEREO ? 2 : 1;
-            ast->codec->extradata = av_mallocz(4 + FF_INPUT_BUFFER_PADDING_SIZE);
+            ast->codec->extradata = av_mallocz(8 + FF_INPUT_BUFFER_PADDING_SIZE);
             if (!ast->codec->extradata)
                 return AVERROR(ENOMEM);
-            ast->codec->extradata_size = 4;
-            AV_WL32(ast->codec->extradata, vst->codec->codec_tag);
+            ast->codec->extradata_size = 8;
+            AV_WL64(ast->codec->extradata, vst->codec->extradata);
         }
 
