[NORMATIVE, obu-frame] Fix interaction with other experiments

* When trailing-bits is not enabled, the bit buffer 'rb' from
  av1_decode_frame_from_obus() is not passed in to
  read_frame_header_obu(), and is therefore not updated. This
  means that, when we read the subsequent tile group, we start
  reading from the wrong point (at the start of the frame header
  again), leading to errors.

* The condition for when to 'break' after reading the frame header
  is currently "obu_header.type == OBU_FRAME_HEADER". But the
  OBU_REDUNDANT_FRAME_HEADER experiment adds another OBU type
  which uses the same path. So the condition should really be
  "obu_header.type != OBU_FRAME"

It's easiest to fix both of these together, as they are both
simple changes to the same bit of code.

BUG=aomedia:1624

Change-Id: Ia4b905ea54ad289f7a835ab2d52992b2490da6c2
diff --git a/av1/decoder/obu.c b/av1/decoder/obu.c
index 68274f1..fba0e4d 100644
--- a/av1/decoder/obu.c
+++ b/av1/decoder/obu.c
@@ -466,12 +466,15 @@
           break;
         }
 #if CONFIG_OBU_FRAME
-        if (obu_header.type == OBU_FRAME_HEADER) break;
+        if (obu_header.type != OBU_FRAME) break;
         obu_payload_offset = frame_header_size;
+#if !CONFIG_TRAILING_BITS
+        av1_init_read_bit_buffer(pbi, &rb, data + obu_payload_offset, data_end);
+#endif                             // !CONFIG_TRAILING_BITS
         AOM_FALLTHROUGH_INTENDED;  // fall through to read tile group.
-#else
+#else                              // CONFIG_OBU_FRAME
         break;
-#endif  // CONFIG_OBU_FRAME
+#endif                             // CONFIG_OBU_FRAME
       case OBU_TILE_GROUP:
         if (!frame_header_received) {
           cm->error.error_code = AOM_CODEC_CORRUPT_FRAME;