All Downloads are FREE. Search and download functionalities are using the official Maven repository.

wechat.protobuf.UploadVideoRequest Maven / Gradle / Ivy

There is a newer version: 8.0.48.01
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: wechat.proto

package wechat.protobuf;

/**
 * Protobuf type {@code wechat_proto.UploadVideoRequest}
 */
public final class UploadVideoRequest extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:wechat_proto.UploadVideoRequest)
    UploadVideoRequestOrBuilder {
private static final long serialVersionUID = 0L;
  // Use UploadVideoRequest.newBuilder() to construct.
  private UploadVideoRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) {
    super(builder);
  }
  private UploadVideoRequest() {
    clientMsgID_ = "";
    fromUserName_ = "";
    toUserName_ = "";
    msgSource_ = "";
    cDNVideoUrl_ = "";
    aESKey_ = "";
    cDNThumbUrl_ = "";
    cDNThumbAESKey_ = "";
    videoMd5_ = "";
    streamVideoUrl_ = "";
    streamVideoTitle_ = "";
    streamVideoWording_ = "";
    streamVideoWebUrl_ = "";
    streamVideoThumbUrl_ = "";
    streamVideoPublishId_ = "";
    streamVideoAdUxInfo_ = "";
    statExtStr_ = "";
    hitMd5_ = "";
    videoNewMd5_ = "";
    crc32_ = "";
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new UploadVideoRequest();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private UploadVideoRequest(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    int mutable_bitField0_ = 0;
    int mutable_bitField1_ = 0;
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 10: {
            wechat.protobuf.BaseRequest.Builder subBuilder = null;
            if (((bitField0_ & 0x00000001) != 0)) {
              subBuilder = baseRequest_.toBuilder();
            }
            baseRequest_ = input.readMessage(wechat.protobuf.BaseRequest.PARSER, extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(baseRequest_);
              baseRequest_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000001;
            break;
          }
          case 18: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000002;
            clientMsgID_ = bs;
            break;
          }
          case 26: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000004;
            fromUserName_ = bs;
            break;
          }
          case 34: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00000008;
            toUserName_ = bs;
            break;
          }
          case 40: {
            bitField0_ |= 0x00000010;
            thumbTotalLen_ = input.readUInt32();
            break;
          }
          case 48: {
            bitField0_ |= 0x00000020;
            thumbStartPos_ = input.readUInt32();
            break;
          }
          case 58: {
            wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
            if (((bitField0_ & 0x00000040) != 0)) {
              subBuilder = thumbData_.toBuilder();
            }
            thumbData_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(thumbData_);
              thumbData_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000040;
            break;
          }
          case 64: {
            bitField0_ |= 0x00000080;
            videoTotalLen_ = input.readUInt32();
            break;
          }
          case 72: {
            bitField0_ |= 0x00000100;
            videoStartPos_ = input.readUInt32();
            break;
          }
          case 82: {
            wechat.protobuf.SKBuiltinString_.Builder subBuilder = null;
            if (((bitField0_ & 0x00000200) != 0)) {
              subBuilder = videoData_.toBuilder();
            }
            videoData_ = input.readMessage(wechat.protobuf.SKBuiltinString_.PARSER, extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(videoData_);
              videoData_ = subBuilder.buildPartial();
            }
            bitField0_ |= 0x00000200;
            break;
          }
          case 88: {
            bitField0_ |= 0x00000400;
            playLength_ = input.readUInt32();
            break;
          }
          case 96: {
            bitField0_ |= 0x00000800;
            netWorkEnv_ = input.readUInt32();
            break;
          }
          case 104: {
            bitField0_ |= 0x00001000;
            cameraType_ = input.readUInt32();
            break;
          }
          case 112: {
            bitField0_ |= 0x00002000;
            funcFlag_ = input.readUInt32();
            break;
          }
          case 122: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00004000;
            msgSource_ = bs;
            break;
          }
          case 130: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00008000;
            cDNVideoUrl_ = bs;
            break;
          }
          case 138: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00010000;
            aESKey_ = bs;
            break;
          }
          case 144: {
            bitField0_ |= 0x00020000;
            encryVer_ = input.readInt32();
            break;
          }
          case 154: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00040000;
            cDNThumbUrl_ = bs;
            break;
          }
          case 160: {
            bitField0_ |= 0x00080000;
            cDNThumbImgSize_ = input.readInt32();
            break;
          }
          case 168: {
            bitField0_ |= 0x00100000;
            cDNThumbImgHeigth_ = input.readInt32();
            break;
          }
          case 176: {
            bitField0_ |= 0x00200000;
            cDNThumbImgWidth_ = input.readInt32();
            break;
          }
          case 186: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x00400000;
            cDNThumbAESKey_ = bs;
            break;
          }
          case 192: {
            bitField0_ |= 0x00800000;
            videoFrom_ = input.readInt32();
            break;
          }
          case 200: {
            bitField0_ |= 0x01000000;
            reqTime_ = input.readUInt32();
            break;
          }
          case 210: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x02000000;
            videoMd5_ = bs;
            break;
          }
          case 218: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x04000000;
            streamVideoUrl_ = bs;
            break;
          }
          case 224: {
            bitField0_ |= 0x08000000;
            streamVideoTotalTime_ = input.readUInt32();
            break;
          }
          case 234: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x10000000;
            streamVideoTitle_ = bs;
            break;
          }
          case 242: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x20000000;
            streamVideoWording_ = bs;
            break;
          }
          case 250: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x40000000;
            streamVideoWebUrl_ = bs;
            break;
          }
          case 258: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField0_ |= 0x80000000;
            streamVideoThumbUrl_ = bs;
            break;
          }
          case 266: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField1_ |= 0x00000001;
            streamVideoPublishId_ = bs;
            break;
          }
          case 274: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField1_ |= 0x00000002;
            streamVideoAdUxInfo_ = bs;
            break;
          }
          case 282: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField1_ |= 0x00000004;
            statExtStr_ = bs;
            break;
          }
          case 290: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField1_ |= 0x00000008;
            hitMd5_ = bs;
            break;
          }
          case 298: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField1_ |= 0x00000010;
            videoNewMd5_ = bs;
            break;
          }
          case 306: {
            com.google.protobuf.ByteString bs = input.readBytes();
            bitField1_ |= 0x00000020;
            crc32_ = bs;
            break;
          }
          case 312: {
            bitField1_ |= 0x00000040;
            msgForwordType_ = input.readUInt32();
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return wechat.protobuf.Wechat.internal_static_wechat_proto_UploadVideoRequest_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return wechat.protobuf.Wechat.internal_static_wechat_proto_UploadVideoRequest_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            wechat.protobuf.UploadVideoRequest.class, wechat.protobuf.UploadVideoRequest.Builder.class);
  }

  private int bitField0_;
  private int bitField1_;
  public static final int BASEREQUEST_FIELD_NUMBER = 1;
  private wechat.protobuf.BaseRequest baseRequest_;
  /**
   * optional .wechat_proto.BaseRequest BaseRequest = 1;
   * @return Whether the baseRequest field is set.
   */
  @java.lang.Override
  public boolean hasBaseRequest() {
    return ((bitField0_ & 0x00000001) != 0);
  }
  /**
   * optional .wechat_proto.BaseRequest BaseRequest = 1;
   * @return The baseRequest.
   */
  @java.lang.Override
  public wechat.protobuf.BaseRequest getBaseRequest() {
    return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
  }
  /**
   * optional .wechat_proto.BaseRequest BaseRequest = 1;
   */
  @java.lang.Override
  public wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder() {
    return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
  }

  public static final int CLIENTMSGID_FIELD_NUMBER = 2;
  private volatile java.lang.Object clientMsgID_;
  /**
   * optional string ClientMsgID = 2;
   * @return Whether the clientMsgID field is set.
   */
  @java.lang.Override
  public boolean hasClientMsgID() {
    return ((bitField0_ & 0x00000002) != 0);
  }
  /**
   * optional string ClientMsgID = 2;
   * @return The clientMsgID.
   */
  @java.lang.Override
  public java.lang.String getClientMsgID() {
    java.lang.Object ref = clientMsgID_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        clientMsgID_ = s;
      }
      return s;
    }
  }
  /**
   * optional string ClientMsgID = 2;
   * @return The bytes for clientMsgID.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getClientMsgIDBytes() {
    java.lang.Object ref = clientMsgID_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      clientMsgID_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int FROMUSERNAME_FIELD_NUMBER = 3;
  private volatile java.lang.Object fromUserName_;
  /**
   * optional string FromUserName = 3;
   * @return Whether the fromUserName field is set.
   */
  @java.lang.Override
  public boolean hasFromUserName() {
    return ((bitField0_ & 0x00000004) != 0);
  }
  /**
   * optional string FromUserName = 3;
   * @return The fromUserName.
   */
  @java.lang.Override
  public java.lang.String getFromUserName() {
    java.lang.Object ref = fromUserName_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        fromUserName_ = s;
      }
      return s;
    }
  }
  /**
   * optional string FromUserName = 3;
   * @return The bytes for fromUserName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getFromUserNameBytes() {
    java.lang.Object ref = fromUserName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      fromUserName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int TOUSERNAME_FIELD_NUMBER = 4;
  private volatile java.lang.Object toUserName_;
  /**
   * optional string ToUserName = 4;
   * @return Whether the toUserName field is set.
   */
  @java.lang.Override
  public boolean hasToUserName() {
    return ((bitField0_ & 0x00000008) != 0);
  }
  /**
   * optional string ToUserName = 4;
   * @return The toUserName.
   */
  @java.lang.Override
  public java.lang.String getToUserName() {
    java.lang.Object ref = toUserName_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        toUserName_ = s;
      }
      return s;
    }
  }
  /**
   * optional string ToUserName = 4;
   * @return The bytes for toUserName.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getToUserNameBytes() {
    java.lang.Object ref = toUserName_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      toUserName_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int THUMBTOTALLEN_FIELD_NUMBER = 5;
  private int thumbTotalLen_;
  /**
   * optional uint32 ThumbTotalLen = 5;
   * @return Whether the thumbTotalLen field is set.
   */
  @java.lang.Override
  public boolean hasThumbTotalLen() {
    return ((bitField0_ & 0x00000010) != 0);
  }
  /**
   * optional uint32 ThumbTotalLen = 5;
   * @return The thumbTotalLen.
   */
  @java.lang.Override
  public int getThumbTotalLen() {
    return thumbTotalLen_;
  }

  public static final int THUMBSTARTPOS_FIELD_NUMBER = 6;
  private int thumbStartPos_;
  /**
   * optional uint32 ThumbStartPos = 6;
   * @return Whether the thumbStartPos field is set.
   */
  @java.lang.Override
  public boolean hasThumbStartPos() {
    return ((bitField0_ & 0x00000020) != 0);
  }
  /**
   * optional uint32 ThumbStartPos = 6;
   * @return The thumbStartPos.
   */
  @java.lang.Override
  public int getThumbStartPos() {
    return thumbStartPos_;
  }

  public static final int THUMBDATA_FIELD_NUMBER = 7;
  private wechat.protobuf.SKBuiltinString_ thumbData_;
  /**
   * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
   * @return Whether the thumbData field is set.
   */
  @java.lang.Override
  public boolean hasThumbData() {
    return ((bitField0_ & 0x00000040) != 0);
  }
  /**
   * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
   * @return The thumbData.
   */
  @java.lang.Override
  public wechat.protobuf.SKBuiltinString_ getThumbData() {
    return thumbData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : thumbData_;
  }
  /**
   * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
   */
  @java.lang.Override
  public wechat.protobuf.SKBuiltinString_OrBuilder getThumbDataOrBuilder() {
    return thumbData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : thumbData_;
  }

  public static final int VIDEOTOTALLEN_FIELD_NUMBER = 8;
  private int videoTotalLen_;
  /**
   * optional uint32 VideoTotalLen = 8;
   * @return Whether the videoTotalLen field is set.
   */
  @java.lang.Override
  public boolean hasVideoTotalLen() {
    return ((bitField0_ & 0x00000080) != 0);
  }
  /**
   * optional uint32 VideoTotalLen = 8;
   * @return The videoTotalLen.
   */
  @java.lang.Override
  public int getVideoTotalLen() {
    return videoTotalLen_;
  }

  public static final int VIDEOSTARTPOS_FIELD_NUMBER = 9;
  private int videoStartPos_;
  /**
   * optional uint32 VideoStartPos = 9;
   * @return Whether the videoStartPos field is set.
   */
  @java.lang.Override
  public boolean hasVideoStartPos() {
    return ((bitField0_ & 0x00000100) != 0);
  }
  /**
   * optional uint32 VideoStartPos = 9;
   * @return The videoStartPos.
   */
  @java.lang.Override
  public int getVideoStartPos() {
    return videoStartPos_;
  }

  public static final int VIDEODATA_FIELD_NUMBER = 10;
  private wechat.protobuf.SKBuiltinString_ videoData_;
  /**
   * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
   * @return Whether the videoData field is set.
   */
  @java.lang.Override
  public boolean hasVideoData() {
    return ((bitField0_ & 0x00000200) != 0);
  }
  /**
   * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
   * @return The videoData.
   */
  @java.lang.Override
  public wechat.protobuf.SKBuiltinString_ getVideoData() {
    return videoData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : videoData_;
  }
  /**
   * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
   */
  @java.lang.Override
  public wechat.protobuf.SKBuiltinString_OrBuilder getVideoDataOrBuilder() {
    return videoData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : videoData_;
  }

  public static final int PLAYLENGTH_FIELD_NUMBER = 11;
  private int playLength_;
  /**
   * optional uint32 PlayLength = 11;
   * @return Whether the playLength field is set.
   */
  @java.lang.Override
  public boolean hasPlayLength() {
    return ((bitField0_ & 0x00000400) != 0);
  }
  /**
   * optional uint32 PlayLength = 11;
   * @return The playLength.
   */
  @java.lang.Override
  public int getPlayLength() {
    return playLength_;
  }

  public static final int NETWORKENV_FIELD_NUMBER = 12;
  private int netWorkEnv_;
  /**
   * optional uint32 NetWorkEnv = 12;
   * @return Whether the netWorkEnv field is set.
   */
  @java.lang.Override
  public boolean hasNetWorkEnv() {
    return ((bitField0_ & 0x00000800) != 0);
  }
  /**
   * optional uint32 NetWorkEnv = 12;
   * @return The netWorkEnv.
   */
  @java.lang.Override
  public int getNetWorkEnv() {
    return netWorkEnv_;
  }

  public static final int CAMERATYPE_FIELD_NUMBER = 13;
  private int cameraType_;
  /**
   * optional uint32 CameraType = 13;
   * @return Whether the cameraType field is set.
   */
  @java.lang.Override
  public boolean hasCameraType() {
    return ((bitField0_ & 0x00001000) != 0);
  }
  /**
   * optional uint32 CameraType = 13;
   * @return The cameraType.
   */
  @java.lang.Override
  public int getCameraType() {
    return cameraType_;
  }

  public static final int FUNCFLAG_FIELD_NUMBER = 14;
  private int funcFlag_;
  /**
   * optional uint32 FuncFlag = 14;
   * @return Whether the funcFlag field is set.
   */
  @java.lang.Override
  public boolean hasFuncFlag() {
    return ((bitField0_ & 0x00002000) != 0);
  }
  /**
   * optional uint32 FuncFlag = 14;
   * @return The funcFlag.
   */
  @java.lang.Override
  public int getFuncFlag() {
    return funcFlag_;
  }

  public static final int MSGSOURCE_FIELD_NUMBER = 15;
  private volatile java.lang.Object msgSource_;
  /**
   * optional string MsgSource = 15;
   * @return Whether the msgSource field is set.
   */
  @java.lang.Override
  public boolean hasMsgSource() {
    return ((bitField0_ & 0x00004000) != 0);
  }
  /**
   * optional string MsgSource = 15;
   * @return The msgSource.
   */
  @java.lang.Override
  public java.lang.String getMsgSource() {
    java.lang.Object ref = msgSource_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        msgSource_ = s;
      }
      return s;
    }
  }
  /**
   * optional string MsgSource = 15;
   * @return The bytes for msgSource.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getMsgSourceBytes() {
    java.lang.Object ref = msgSource_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      msgSource_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CDNVIDEOURL_FIELD_NUMBER = 16;
  private volatile java.lang.Object cDNVideoUrl_;
  /**
   * optional string CDNVideoUrl = 16;
   * @return Whether the cDNVideoUrl field is set.
   */
  @java.lang.Override
  public boolean hasCDNVideoUrl() {
    return ((bitField0_ & 0x00008000) != 0);
  }
  /**
   * optional string CDNVideoUrl = 16;
   * @return The cDNVideoUrl.
   */
  @java.lang.Override
  public java.lang.String getCDNVideoUrl() {
    java.lang.Object ref = cDNVideoUrl_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        cDNVideoUrl_ = s;
      }
      return s;
    }
  }
  /**
   * optional string CDNVideoUrl = 16;
   * @return The bytes for cDNVideoUrl.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getCDNVideoUrlBytes() {
    java.lang.Object ref = cDNVideoUrl_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      cDNVideoUrl_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int AESKEY_FIELD_NUMBER = 17;
  private volatile java.lang.Object aESKey_;
  /**
   * optional string AESKey = 17;
   * @return Whether the aESKey field is set.
   */
  @java.lang.Override
  public boolean hasAESKey() {
    return ((bitField0_ & 0x00010000) != 0);
  }
  /**
   * optional string AESKey = 17;
   * @return The aESKey.
   */
  @java.lang.Override
  public java.lang.String getAESKey() {
    java.lang.Object ref = aESKey_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        aESKey_ = s;
      }
      return s;
    }
  }
  /**
   * optional string AESKey = 17;
   * @return The bytes for aESKey.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getAESKeyBytes() {
    java.lang.Object ref = aESKey_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      aESKey_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int ENCRYVER_FIELD_NUMBER = 18;
  private int encryVer_;
  /**
   * optional int32 EncryVer = 18;
   * @return Whether the encryVer field is set.
   */
  @java.lang.Override
  public boolean hasEncryVer() {
    return ((bitField0_ & 0x00020000) != 0);
  }
  /**
   * optional int32 EncryVer = 18;
   * @return The encryVer.
   */
  @java.lang.Override
  public int getEncryVer() {
    return encryVer_;
  }

  public static final int CDNTHUMBURL_FIELD_NUMBER = 19;
  private volatile java.lang.Object cDNThumbUrl_;
  /**
   * optional string CDNThumbUrl = 19;
   * @return Whether the cDNThumbUrl field is set.
   */
  @java.lang.Override
  public boolean hasCDNThumbUrl() {
    return ((bitField0_ & 0x00040000) != 0);
  }
  /**
   * optional string CDNThumbUrl = 19;
   * @return The cDNThumbUrl.
   */
  @java.lang.Override
  public java.lang.String getCDNThumbUrl() {
    java.lang.Object ref = cDNThumbUrl_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        cDNThumbUrl_ = s;
      }
      return s;
    }
  }
  /**
   * optional string CDNThumbUrl = 19;
   * @return The bytes for cDNThumbUrl.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getCDNThumbUrlBytes() {
    java.lang.Object ref = cDNThumbUrl_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      cDNThumbUrl_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CDNTHUMBIMGSIZE_FIELD_NUMBER = 20;
  private int cDNThumbImgSize_;
  /**
   * optional int32 CDNThumbImgSize = 20;
   * @return Whether the cDNThumbImgSize field is set.
   */
  @java.lang.Override
  public boolean hasCDNThumbImgSize() {
    return ((bitField0_ & 0x00080000) != 0);
  }
  /**
   * optional int32 CDNThumbImgSize = 20;
   * @return The cDNThumbImgSize.
   */
  @java.lang.Override
  public int getCDNThumbImgSize() {
    return cDNThumbImgSize_;
  }

  public static final int CDNTHUMBIMGHEIGTH_FIELD_NUMBER = 21;
  private int cDNThumbImgHeigth_;
  /**
   * optional int32 CDNThumbImgHeigth = 21;
   * @return Whether the cDNThumbImgHeigth field is set.
   */
  @java.lang.Override
  public boolean hasCDNThumbImgHeigth() {
    return ((bitField0_ & 0x00100000) != 0);
  }
  /**
   * optional int32 CDNThumbImgHeigth = 21;
   * @return The cDNThumbImgHeigth.
   */
  @java.lang.Override
  public int getCDNThumbImgHeigth() {
    return cDNThumbImgHeigth_;
  }

  public static final int CDNTHUMBIMGWIDTH_FIELD_NUMBER = 22;
  private int cDNThumbImgWidth_;
  /**
   * optional int32 CDNThumbImgWidth = 22;
   * @return Whether the cDNThumbImgWidth field is set.
   */
  @java.lang.Override
  public boolean hasCDNThumbImgWidth() {
    return ((bitField0_ & 0x00200000) != 0);
  }
  /**
   * optional int32 CDNThumbImgWidth = 22;
   * @return The cDNThumbImgWidth.
   */
  @java.lang.Override
  public int getCDNThumbImgWidth() {
    return cDNThumbImgWidth_;
  }

  public static final int CDNTHUMBAESKEY_FIELD_NUMBER = 23;
  private volatile java.lang.Object cDNThumbAESKey_;
  /**
   * optional string CDNThumbAESKey = 23;
   * @return Whether the cDNThumbAESKey field is set.
   */
  @java.lang.Override
  public boolean hasCDNThumbAESKey() {
    return ((bitField0_ & 0x00400000) != 0);
  }
  /**
   * optional string CDNThumbAESKey = 23;
   * @return The cDNThumbAESKey.
   */
  @java.lang.Override
  public java.lang.String getCDNThumbAESKey() {
    java.lang.Object ref = cDNThumbAESKey_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        cDNThumbAESKey_ = s;
      }
      return s;
    }
  }
  /**
   * optional string CDNThumbAESKey = 23;
   * @return The bytes for cDNThumbAESKey.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getCDNThumbAESKeyBytes() {
    java.lang.Object ref = cDNThumbAESKey_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      cDNThumbAESKey_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int VIDEOFROM_FIELD_NUMBER = 24;
  private int videoFrom_;
  /**
   * optional int32 VideoFrom = 24;
   * @return Whether the videoFrom field is set.
   */
  @java.lang.Override
  public boolean hasVideoFrom() {
    return ((bitField0_ & 0x00800000) != 0);
  }
  /**
   * optional int32 VideoFrom = 24;
   * @return The videoFrom.
   */
  @java.lang.Override
  public int getVideoFrom() {
    return videoFrom_;
  }

  public static final int REQTIME_FIELD_NUMBER = 25;
  private int reqTime_;
  /**
   * optional uint32 ReqTime = 25;
   * @return Whether the reqTime field is set.
   */
  @java.lang.Override
  public boolean hasReqTime() {
    return ((bitField0_ & 0x01000000) != 0);
  }
  /**
   * optional uint32 ReqTime = 25;
   * @return The reqTime.
   */
  @java.lang.Override
  public int getReqTime() {
    return reqTime_;
  }

  public static final int VIDEOMD5_FIELD_NUMBER = 26;
  private volatile java.lang.Object videoMd5_;
  /**
   * optional string VideoMd5 = 26;
   * @return Whether the videoMd5 field is set.
   */
  @java.lang.Override
  public boolean hasVideoMd5() {
    return ((bitField0_ & 0x02000000) != 0);
  }
  /**
   * optional string VideoMd5 = 26;
   * @return The videoMd5.
   */
  @java.lang.Override
  public java.lang.String getVideoMd5() {
    java.lang.Object ref = videoMd5_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        videoMd5_ = s;
      }
      return s;
    }
  }
  /**
   * optional string VideoMd5 = 26;
   * @return The bytes for videoMd5.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getVideoMd5Bytes() {
    java.lang.Object ref = videoMd5_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      videoMd5_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int STREAMVIDEOURL_FIELD_NUMBER = 27;
  private volatile java.lang.Object streamVideoUrl_;
  /**
   * optional string StreamVideoUrl = 27;
   * @return Whether the streamVideoUrl field is set.
   */
  @java.lang.Override
  public boolean hasStreamVideoUrl() {
    return ((bitField0_ & 0x04000000) != 0);
  }
  /**
   * optional string StreamVideoUrl = 27;
   * @return The streamVideoUrl.
   */
  @java.lang.Override
  public java.lang.String getStreamVideoUrl() {
    java.lang.Object ref = streamVideoUrl_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        streamVideoUrl_ = s;
      }
      return s;
    }
  }
  /**
   * optional string StreamVideoUrl = 27;
   * @return The bytes for streamVideoUrl.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getStreamVideoUrlBytes() {
    java.lang.Object ref = streamVideoUrl_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      streamVideoUrl_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int STREAMVIDEOTOTALTIME_FIELD_NUMBER = 28;
  private int streamVideoTotalTime_;
  /**
   * optional uint32 StreamVideoTotalTime = 28;
   * @return Whether the streamVideoTotalTime field is set.
   */
  @java.lang.Override
  public boolean hasStreamVideoTotalTime() {
    return ((bitField0_ & 0x08000000) != 0);
  }
  /**
   * optional uint32 StreamVideoTotalTime = 28;
   * @return The streamVideoTotalTime.
   */
  @java.lang.Override
  public int getStreamVideoTotalTime() {
    return streamVideoTotalTime_;
  }

  public static final int STREAMVIDEOTITLE_FIELD_NUMBER = 29;
  private volatile java.lang.Object streamVideoTitle_;
  /**
   * optional string StreamVideoTitle = 29;
   * @return Whether the streamVideoTitle field is set.
   */
  @java.lang.Override
  public boolean hasStreamVideoTitle() {
    return ((bitField0_ & 0x10000000) != 0);
  }
  /**
   * optional string StreamVideoTitle = 29;
   * @return The streamVideoTitle.
   */
  @java.lang.Override
  public java.lang.String getStreamVideoTitle() {
    java.lang.Object ref = streamVideoTitle_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        streamVideoTitle_ = s;
      }
      return s;
    }
  }
  /**
   * optional string StreamVideoTitle = 29;
   * @return The bytes for streamVideoTitle.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getStreamVideoTitleBytes() {
    java.lang.Object ref = streamVideoTitle_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      streamVideoTitle_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int STREAMVIDEOWORDING_FIELD_NUMBER = 30;
  private volatile java.lang.Object streamVideoWording_;
  /**
   * optional string StreamVideoWording = 30;
   * @return Whether the streamVideoWording field is set.
   */
  @java.lang.Override
  public boolean hasStreamVideoWording() {
    return ((bitField0_ & 0x20000000) != 0);
  }
  /**
   * optional string StreamVideoWording = 30;
   * @return The streamVideoWording.
   */
  @java.lang.Override
  public java.lang.String getStreamVideoWording() {
    java.lang.Object ref = streamVideoWording_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        streamVideoWording_ = s;
      }
      return s;
    }
  }
  /**
   * optional string StreamVideoWording = 30;
   * @return The bytes for streamVideoWording.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getStreamVideoWordingBytes() {
    java.lang.Object ref = streamVideoWording_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      streamVideoWording_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int STREAMVIDEOWEBURL_FIELD_NUMBER = 31;
  private volatile java.lang.Object streamVideoWebUrl_;
  /**
   * optional string StreamVideoWebUrl = 31;
   * @return Whether the streamVideoWebUrl field is set.
   */
  @java.lang.Override
  public boolean hasStreamVideoWebUrl() {
    return ((bitField0_ & 0x40000000) != 0);
  }
  /**
   * optional string StreamVideoWebUrl = 31;
   * @return The streamVideoWebUrl.
   */
  @java.lang.Override
  public java.lang.String getStreamVideoWebUrl() {
    java.lang.Object ref = streamVideoWebUrl_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        streamVideoWebUrl_ = s;
      }
      return s;
    }
  }
  /**
   * optional string StreamVideoWebUrl = 31;
   * @return The bytes for streamVideoWebUrl.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getStreamVideoWebUrlBytes() {
    java.lang.Object ref = streamVideoWebUrl_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      streamVideoWebUrl_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int STREAMVIDEOTHUMBURL_FIELD_NUMBER = 32;
  private volatile java.lang.Object streamVideoThumbUrl_;
  /**
   * optional string StreamVideoThumbUrl = 32;
   * @return Whether the streamVideoThumbUrl field is set.
   */
  @java.lang.Override
  public boolean hasStreamVideoThumbUrl() {
    return ((bitField0_ & 0x80000000) != 0);
  }
  /**
   * optional string StreamVideoThumbUrl = 32;
   * @return The streamVideoThumbUrl.
   */
  @java.lang.Override
  public java.lang.String getStreamVideoThumbUrl() {
    java.lang.Object ref = streamVideoThumbUrl_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        streamVideoThumbUrl_ = s;
      }
      return s;
    }
  }
  /**
   * optional string StreamVideoThumbUrl = 32;
   * @return The bytes for streamVideoThumbUrl.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getStreamVideoThumbUrlBytes() {
    java.lang.Object ref = streamVideoThumbUrl_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      streamVideoThumbUrl_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int STREAMVIDEOPUBLISHID_FIELD_NUMBER = 33;
  private volatile java.lang.Object streamVideoPublishId_;
  /**
   * optional string StreamVideoPublishId = 33;
   * @return Whether the streamVideoPublishId field is set.
   */
  @java.lang.Override
  public boolean hasStreamVideoPublishId() {
    return ((bitField1_ & 0x00000001) != 0);
  }
  /**
   * optional string StreamVideoPublishId = 33;
   * @return The streamVideoPublishId.
   */
  @java.lang.Override
  public java.lang.String getStreamVideoPublishId() {
    java.lang.Object ref = streamVideoPublishId_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        streamVideoPublishId_ = s;
      }
      return s;
    }
  }
  /**
   * optional string StreamVideoPublishId = 33;
   * @return The bytes for streamVideoPublishId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getStreamVideoPublishIdBytes() {
    java.lang.Object ref = streamVideoPublishId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      streamVideoPublishId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int STREAMVIDEOADUXINFO_FIELD_NUMBER = 34;
  private volatile java.lang.Object streamVideoAdUxInfo_;
  /**
   * optional string StreamVideoAdUxInfo = 34;
   * @return Whether the streamVideoAdUxInfo field is set.
   */
  @java.lang.Override
  public boolean hasStreamVideoAdUxInfo() {
    return ((bitField1_ & 0x00000002) != 0);
  }
  /**
   * optional string StreamVideoAdUxInfo = 34;
   * @return The streamVideoAdUxInfo.
   */
  @java.lang.Override
  public java.lang.String getStreamVideoAdUxInfo() {
    java.lang.Object ref = streamVideoAdUxInfo_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        streamVideoAdUxInfo_ = s;
      }
      return s;
    }
  }
  /**
   * optional string StreamVideoAdUxInfo = 34;
   * @return The bytes for streamVideoAdUxInfo.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getStreamVideoAdUxInfoBytes() {
    java.lang.Object ref = streamVideoAdUxInfo_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      streamVideoAdUxInfo_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int STATEXTSTR_FIELD_NUMBER = 35;
  private volatile java.lang.Object statExtStr_;
  /**
   * optional string StatExtStr = 35;
   * @return Whether the statExtStr field is set.
   */
  @java.lang.Override
  public boolean hasStatExtStr() {
    return ((bitField1_ & 0x00000004) != 0);
  }
  /**
   * optional string StatExtStr = 35;
   * @return The statExtStr.
   */
  @java.lang.Override
  public java.lang.String getStatExtStr() {
    java.lang.Object ref = statExtStr_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        statExtStr_ = s;
      }
      return s;
    }
  }
  /**
   * optional string StatExtStr = 35;
   * @return The bytes for statExtStr.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getStatExtStrBytes() {
    java.lang.Object ref = statExtStr_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      statExtStr_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int HITMD5_FIELD_NUMBER = 36;
  private volatile java.lang.Object hitMd5_;
  /**
   * optional string HitMd5 = 36;
   * @return Whether the hitMd5 field is set.
   */
  @java.lang.Override
  public boolean hasHitMd5() {
    return ((bitField1_ & 0x00000008) != 0);
  }
  /**
   * optional string HitMd5 = 36;
   * @return The hitMd5.
   */
  @java.lang.Override
  public java.lang.String getHitMd5() {
    java.lang.Object ref = hitMd5_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        hitMd5_ = s;
      }
      return s;
    }
  }
  /**
   * optional string HitMd5 = 36;
   * @return The bytes for hitMd5.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getHitMd5Bytes() {
    java.lang.Object ref = hitMd5_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      hitMd5_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int VIDEONEWMD5_FIELD_NUMBER = 37;
  private volatile java.lang.Object videoNewMd5_;
  /**
   * optional string VideoNewMd5 = 37;
   * @return Whether the videoNewMd5 field is set.
   */
  @java.lang.Override
  public boolean hasVideoNewMd5() {
    return ((bitField1_ & 0x00000010) != 0);
  }
  /**
   * optional string VideoNewMd5 = 37;
   * @return The videoNewMd5.
   */
  @java.lang.Override
  public java.lang.String getVideoNewMd5() {
    java.lang.Object ref = videoNewMd5_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        videoNewMd5_ = s;
      }
      return s;
    }
  }
  /**
   * optional string VideoNewMd5 = 37;
   * @return The bytes for videoNewMd5.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getVideoNewMd5Bytes() {
    java.lang.Object ref = videoNewMd5_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      videoNewMd5_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int CRC32_FIELD_NUMBER = 38;
  private volatile java.lang.Object crc32_;
  /**
   * optional string Crc32 = 38;
   * @return Whether the crc32 field is set.
   */
  @java.lang.Override
  public boolean hasCrc32() {
    return ((bitField1_ & 0x00000020) != 0);
  }
  /**
   * optional string Crc32 = 38;
   * @return The crc32.
   */
  @java.lang.Override
  public java.lang.String getCrc32() {
    java.lang.Object ref = crc32_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      if (bs.isValidUtf8()) {
        crc32_ = s;
      }
      return s;
    }
  }
  /**
   * optional string Crc32 = 38;
   * @return The bytes for crc32.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getCrc32Bytes() {
    java.lang.Object ref = crc32_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      crc32_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int MSGFORWORDTYPE_FIELD_NUMBER = 39;
  private int msgForwordType_;
  /**
   * optional uint32 MsgForwordType = 39;
   * @return Whether the msgForwordType field is set.
   */
  @java.lang.Override
  public boolean hasMsgForwordType() {
    return ((bitField1_ & 0x00000040) != 0);
  }
  /**
   * optional uint32 MsgForwordType = 39;
   * @return The msgForwordType.
   */
  @java.lang.Override
  public int getMsgForwordType() {
    return msgForwordType_;
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (((bitField0_ & 0x00000001) != 0)) {
      output.writeMessage(1, getBaseRequest());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 2, clientMsgID_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, fromUserName_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 4, toUserName_);
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      output.writeUInt32(5, thumbTotalLen_);
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      output.writeUInt32(6, thumbStartPos_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      output.writeMessage(7, getThumbData());
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      output.writeUInt32(8, videoTotalLen_);
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      output.writeUInt32(9, videoStartPos_);
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      output.writeMessage(10, getVideoData());
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      output.writeUInt32(11, playLength_);
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      output.writeUInt32(12, netWorkEnv_);
    }
    if (((bitField0_ & 0x00001000) != 0)) {
      output.writeUInt32(13, cameraType_);
    }
    if (((bitField0_ & 0x00002000) != 0)) {
      output.writeUInt32(14, funcFlag_);
    }
    if (((bitField0_ & 0x00004000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 15, msgSource_);
    }
    if (((bitField0_ & 0x00008000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 16, cDNVideoUrl_);
    }
    if (((bitField0_ & 0x00010000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 17, aESKey_);
    }
    if (((bitField0_ & 0x00020000) != 0)) {
      output.writeInt32(18, encryVer_);
    }
    if (((bitField0_ & 0x00040000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 19, cDNThumbUrl_);
    }
    if (((bitField0_ & 0x00080000) != 0)) {
      output.writeInt32(20, cDNThumbImgSize_);
    }
    if (((bitField0_ & 0x00100000) != 0)) {
      output.writeInt32(21, cDNThumbImgHeigth_);
    }
    if (((bitField0_ & 0x00200000) != 0)) {
      output.writeInt32(22, cDNThumbImgWidth_);
    }
    if (((bitField0_ & 0x00400000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 23, cDNThumbAESKey_);
    }
    if (((bitField0_ & 0x00800000) != 0)) {
      output.writeInt32(24, videoFrom_);
    }
    if (((bitField0_ & 0x01000000) != 0)) {
      output.writeUInt32(25, reqTime_);
    }
    if (((bitField0_ & 0x02000000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 26, videoMd5_);
    }
    if (((bitField0_ & 0x04000000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 27, streamVideoUrl_);
    }
    if (((bitField0_ & 0x08000000) != 0)) {
      output.writeUInt32(28, streamVideoTotalTime_);
    }
    if (((bitField0_ & 0x10000000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 29, streamVideoTitle_);
    }
    if (((bitField0_ & 0x20000000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 30, streamVideoWording_);
    }
    if (((bitField0_ & 0x40000000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 31, streamVideoWebUrl_);
    }
    if (((bitField0_ & 0x80000000) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 32, streamVideoThumbUrl_);
    }
    if (((bitField1_ & 0x00000001) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 33, streamVideoPublishId_);
    }
    if (((bitField1_ & 0x00000002) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 34, streamVideoAdUxInfo_);
    }
    if (((bitField1_ & 0x00000004) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 35, statExtStr_);
    }
    if (((bitField1_ & 0x00000008) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 36, hitMd5_);
    }
    if (((bitField1_ & 0x00000010) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 37, videoNewMd5_);
    }
    if (((bitField1_ & 0x00000020) != 0)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 38, crc32_);
    }
    if (((bitField1_ & 0x00000040) != 0)) {
      output.writeUInt32(39, msgForwordType_);
    }
    unknownFields.writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (((bitField0_ & 0x00000001) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(1, getBaseRequest());
    }
    if (((bitField0_ & 0x00000002) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, clientMsgID_);
    }
    if (((bitField0_ & 0x00000004) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, fromUserName_);
    }
    if (((bitField0_ & 0x00000008) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, toUserName_);
    }
    if (((bitField0_ & 0x00000010) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(5, thumbTotalLen_);
    }
    if (((bitField0_ & 0x00000020) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(6, thumbStartPos_);
    }
    if (((bitField0_ & 0x00000040) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(7, getThumbData());
    }
    if (((bitField0_ & 0x00000080) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(8, videoTotalLen_);
    }
    if (((bitField0_ & 0x00000100) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(9, videoStartPos_);
    }
    if (((bitField0_ & 0x00000200) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(10, getVideoData());
    }
    if (((bitField0_ & 0x00000400) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(11, playLength_);
    }
    if (((bitField0_ & 0x00000800) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(12, netWorkEnv_);
    }
    if (((bitField0_ & 0x00001000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(13, cameraType_);
    }
    if (((bitField0_ & 0x00002000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(14, funcFlag_);
    }
    if (((bitField0_ & 0x00004000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, msgSource_);
    }
    if (((bitField0_ & 0x00008000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(16, cDNVideoUrl_);
    }
    if (((bitField0_ & 0x00010000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(17, aESKey_);
    }
    if (((bitField0_ & 0x00020000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(18, encryVer_);
    }
    if (((bitField0_ & 0x00040000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(19, cDNThumbUrl_);
    }
    if (((bitField0_ & 0x00080000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(20, cDNThumbImgSize_);
    }
    if (((bitField0_ & 0x00100000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(21, cDNThumbImgHeigth_);
    }
    if (((bitField0_ & 0x00200000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(22, cDNThumbImgWidth_);
    }
    if (((bitField0_ & 0x00400000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(23, cDNThumbAESKey_);
    }
    if (((bitField0_ & 0x00800000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(24, videoFrom_);
    }
    if (((bitField0_ & 0x01000000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(25, reqTime_);
    }
    if (((bitField0_ & 0x02000000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(26, videoMd5_);
    }
    if (((bitField0_ & 0x04000000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(27, streamVideoUrl_);
    }
    if (((bitField0_ & 0x08000000) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(28, streamVideoTotalTime_);
    }
    if (((bitField0_ & 0x10000000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(29, streamVideoTitle_);
    }
    if (((bitField0_ & 0x20000000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(30, streamVideoWording_);
    }
    if (((bitField0_ & 0x40000000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(31, streamVideoWebUrl_);
    }
    if (((bitField0_ & 0x80000000) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(32, streamVideoThumbUrl_);
    }
    if (((bitField1_ & 0x00000001) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(33, streamVideoPublishId_);
    }
    if (((bitField1_ & 0x00000002) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(34, streamVideoAdUxInfo_);
    }
    if (((bitField1_ & 0x00000004) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(35, statExtStr_);
    }
    if (((bitField1_ & 0x00000008) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(36, hitMd5_);
    }
    if (((bitField1_ & 0x00000010) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(37, videoNewMd5_);
    }
    if (((bitField1_ & 0x00000020) != 0)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(38, crc32_);
    }
    if (((bitField1_ & 0x00000040) != 0)) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(39, msgForwordType_);
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof wechat.protobuf.UploadVideoRequest)) {
      return super.equals(obj);
    }
    wechat.protobuf.UploadVideoRequest other = (wechat.protobuf.UploadVideoRequest) obj;

    if (hasBaseRequest() != other.hasBaseRequest()) return false;
    if (hasBaseRequest()) {
      if (!getBaseRequest()
          .equals(other.getBaseRequest())) return false;
    }
    if (hasClientMsgID() != other.hasClientMsgID()) return false;
    if (hasClientMsgID()) {
      if (!getClientMsgID()
          .equals(other.getClientMsgID())) return false;
    }
    if (hasFromUserName() != other.hasFromUserName()) return false;
    if (hasFromUserName()) {
      if (!getFromUserName()
          .equals(other.getFromUserName())) return false;
    }
    if (hasToUserName() != other.hasToUserName()) return false;
    if (hasToUserName()) {
      if (!getToUserName()
          .equals(other.getToUserName())) return false;
    }
    if (hasThumbTotalLen() != other.hasThumbTotalLen()) return false;
    if (hasThumbTotalLen()) {
      if (getThumbTotalLen()
          != other.getThumbTotalLen()) return false;
    }
    if (hasThumbStartPos() != other.hasThumbStartPos()) return false;
    if (hasThumbStartPos()) {
      if (getThumbStartPos()
          != other.getThumbStartPos()) return false;
    }
    if (hasThumbData() != other.hasThumbData()) return false;
    if (hasThumbData()) {
      if (!getThumbData()
          .equals(other.getThumbData())) return false;
    }
    if (hasVideoTotalLen() != other.hasVideoTotalLen()) return false;
    if (hasVideoTotalLen()) {
      if (getVideoTotalLen()
          != other.getVideoTotalLen()) return false;
    }
    if (hasVideoStartPos() != other.hasVideoStartPos()) return false;
    if (hasVideoStartPos()) {
      if (getVideoStartPos()
          != other.getVideoStartPos()) return false;
    }
    if (hasVideoData() != other.hasVideoData()) return false;
    if (hasVideoData()) {
      if (!getVideoData()
          .equals(other.getVideoData())) return false;
    }
    if (hasPlayLength() != other.hasPlayLength()) return false;
    if (hasPlayLength()) {
      if (getPlayLength()
          != other.getPlayLength()) return false;
    }
    if (hasNetWorkEnv() != other.hasNetWorkEnv()) return false;
    if (hasNetWorkEnv()) {
      if (getNetWorkEnv()
          != other.getNetWorkEnv()) return false;
    }
    if (hasCameraType() != other.hasCameraType()) return false;
    if (hasCameraType()) {
      if (getCameraType()
          != other.getCameraType()) return false;
    }
    if (hasFuncFlag() != other.hasFuncFlag()) return false;
    if (hasFuncFlag()) {
      if (getFuncFlag()
          != other.getFuncFlag()) return false;
    }
    if (hasMsgSource() != other.hasMsgSource()) return false;
    if (hasMsgSource()) {
      if (!getMsgSource()
          .equals(other.getMsgSource())) return false;
    }
    if (hasCDNVideoUrl() != other.hasCDNVideoUrl()) return false;
    if (hasCDNVideoUrl()) {
      if (!getCDNVideoUrl()
          .equals(other.getCDNVideoUrl())) return false;
    }
    if (hasAESKey() != other.hasAESKey()) return false;
    if (hasAESKey()) {
      if (!getAESKey()
          .equals(other.getAESKey())) return false;
    }
    if (hasEncryVer() != other.hasEncryVer()) return false;
    if (hasEncryVer()) {
      if (getEncryVer()
          != other.getEncryVer()) return false;
    }
    if (hasCDNThumbUrl() != other.hasCDNThumbUrl()) return false;
    if (hasCDNThumbUrl()) {
      if (!getCDNThumbUrl()
          .equals(other.getCDNThumbUrl())) return false;
    }
    if (hasCDNThumbImgSize() != other.hasCDNThumbImgSize()) return false;
    if (hasCDNThumbImgSize()) {
      if (getCDNThumbImgSize()
          != other.getCDNThumbImgSize()) return false;
    }
    if (hasCDNThumbImgHeigth() != other.hasCDNThumbImgHeigth()) return false;
    if (hasCDNThumbImgHeigth()) {
      if (getCDNThumbImgHeigth()
          != other.getCDNThumbImgHeigth()) return false;
    }
    if (hasCDNThumbImgWidth() != other.hasCDNThumbImgWidth()) return false;
    if (hasCDNThumbImgWidth()) {
      if (getCDNThumbImgWidth()
          != other.getCDNThumbImgWidth()) return false;
    }
    if (hasCDNThumbAESKey() != other.hasCDNThumbAESKey()) return false;
    if (hasCDNThumbAESKey()) {
      if (!getCDNThumbAESKey()
          .equals(other.getCDNThumbAESKey())) return false;
    }
    if (hasVideoFrom() != other.hasVideoFrom()) return false;
    if (hasVideoFrom()) {
      if (getVideoFrom()
          != other.getVideoFrom()) return false;
    }
    if (hasReqTime() != other.hasReqTime()) return false;
    if (hasReqTime()) {
      if (getReqTime()
          != other.getReqTime()) return false;
    }
    if (hasVideoMd5() != other.hasVideoMd5()) return false;
    if (hasVideoMd5()) {
      if (!getVideoMd5()
          .equals(other.getVideoMd5())) return false;
    }
    if (hasStreamVideoUrl() != other.hasStreamVideoUrl()) return false;
    if (hasStreamVideoUrl()) {
      if (!getStreamVideoUrl()
          .equals(other.getStreamVideoUrl())) return false;
    }
    if (hasStreamVideoTotalTime() != other.hasStreamVideoTotalTime()) return false;
    if (hasStreamVideoTotalTime()) {
      if (getStreamVideoTotalTime()
          != other.getStreamVideoTotalTime()) return false;
    }
    if (hasStreamVideoTitle() != other.hasStreamVideoTitle()) return false;
    if (hasStreamVideoTitle()) {
      if (!getStreamVideoTitle()
          .equals(other.getStreamVideoTitle())) return false;
    }
    if (hasStreamVideoWording() != other.hasStreamVideoWording()) return false;
    if (hasStreamVideoWording()) {
      if (!getStreamVideoWording()
          .equals(other.getStreamVideoWording())) return false;
    }
    if (hasStreamVideoWebUrl() != other.hasStreamVideoWebUrl()) return false;
    if (hasStreamVideoWebUrl()) {
      if (!getStreamVideoWebUrl()
          .equals(other.getStreamVideoWebUrl())) return false;
    }
    if (hasStreamVideoThumbUrl() != other.hasStreamVideoThumbUrl()) return false;
    if (hasStreamVideoThumbUrl()) {
      if (!getStreamVideoThumbUrl()
          .equals(other.getStreamVideoThumbUrl())) return false;
    }
    if (hasStreamVideoPublishId() != other.hasStreamVideoPublishId()) return false;
    if (hasStreamVideoPublishId()) {
      if (!getStreamVideoPublishId()
          .equals(other.getStreamVideoPublishId())) return false;
    }
    if (hasStreamVideoAdUxInfo() != other.hasStreamVideoAdUxInfo()) return false;
    if (hasStreamVideoAdUxInfo()) {
      if (!getStreamVideoAdUxInfo()
          .equals(other.getStreamVideoAdUxInfo())) return false;
    }
    if (hasStatExtStr() != other.hasStatExtStr()) return false;
    if (hasStatExtStr()) {
      if (!getStatExtStr()
          .equals(other.getStatExtStr())) return false;
    }
    if (hasHitMd5() != other.hasHitMd5()) return false;
    if (hasHitMd5()) {
      if (!getHitMd5()
          .equals(other.getHitMd5())) return false;
    }
    if (hasVideoNewMd5() != other.hasVideoNewMd5()) return false;
    if (hasVideoNewMd5()) {
      if (!getVideoNewMd5()
          .equals(other.getVideoNewMd5())) return false;
    }
    if (hasCrc32() != other.hasCrc32()) return false;
    if (hasCrc32()) {
      if (!getCrc32()
          .equals(other.getCrc32())) return false;
    }
    if (hasMsgForwordType() != other.hasMsgForwordType()) return false;
    if (hasMsgForwordType()) {
      if (getMsgForwordType()
          != other.getMsgForwordType()) return false;
    }
    if (!unknownFields.equals(other.unknownFields)) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    if (hasBaseRequest()) {
      hash = (37 * hash) + BASEREQUEST_FIELD_NUMBER;
      hash = (53 * hash) + getBaseRequest().hashCode();
    }
    if (hasClientMsgID()) {
      hash = (37 * hash) + CLIENTMSGID_FIELD_NUMBER;
      hash = (53 * hash) + getClientMsgID().hashCode();
    }
    if (hasFromUserName()) {
      hash = (37 * hash) + FROMUSERNAME_FIELD_NUMBER;
      hash = (53 * hash) + getFromUserName().hashCode();
    }
    if (hasToUserName()) {
      hash = (37 * hash) + TOUSERNAME_FIELD_NUMBER;
      hash = (53 * hash) + getToUserName().hashCode();
    }
    if (hasThumbTotalLen()) {
      hash = (37 * hash) + THUMBTOTALLEN_FIELD_NUMBER;
      hash = (53 * hash) + getThumbTotalLen();
    }
    if (hasThumbStartPos()) {
      hash = (37 * hash) + THUMBSTARTPOS_FIELD_NUMBER;
      hash = (53 * hash) + getThumbStartPos();
    }
    if (hasThumbData()) {
      hash = (37 * hash) + THUMBDATA_FIELD_NUMBER;
      hash = (53 * hash) + getThumbData().hashCode();
    }
    if (hasVideoTotalLen()) {
      hash = (37 * hash) + VIDEOTOTALLEN_FIELD_NUMBER;
      hash = (53 * hash) + getVideoTotalLen();
    }
    if (hasVideoStartPos()) {
      hash = (37 * hash) + VIDEOSTARTPOS_FIELD_NUMBER;
      hash = (53 * hash) + getVideoStartPos();
    }
    if (hasVideoData()) {
      hash = (37 * hash) + VIDEODATA_FIELD_NUMBER;
      hash = (53 * hash) + getVideoData().hashCode();
    }
    if (hasPlayLength()) {
      hash = (37 * hash) + PLAYLENGTH_FIELD_NUMBER;
      hash = (53 * hash) + getPlayLength();
    }
    if (hasNetWorkEnv()) {
      hash = (37 * hash) + NETWORKENV_FIELD_NUMBER;
      hash = (53 * hash) + getNetWorkEnv();
    }
    if (hasCameraType()) {
      hash = (37 * hash) + CAMERATYPE_FIELD_NUMBER;
      hash = (53 * hash) + getCameraType();
    }
    if (hasFuncFlag()) {
      hash = (37 * hash) + FUNCFLAG_FIELD_NUMBER;
      hash = (53 * hash) + getFuncFlag();
    }
    if (hasMsgSource()) {
      hash = (37 * hash) + MSGSOURCE_FIELD_NUMBER;
      hash = (53 * hash) + getMsgSource().hashCode();
    }
    if (hasCDNVideoUrl()) {
      hash = (37 * hash) + CDNVIDEOURL_FIELD_NUMBER;
      hash = (53 * hash) + getCDNVideoUrl().hashCode();
    }
    if (hasAESKey()) {
      hash = (37 * hash) + AESKEY_FIELD_NUMBER;
      hash = (53 * hash) + getAESKey().hashCode();
    }
    if (hasEncryVer()) {
      hash = (37 * hash) + ENCRYVER_FIELD_NUMBER;
      hash = (53 * hash) + getEncryVer();
    }
    if (hasCDNThumbUrl()) {
      hash = (37 * hash) + CDNTHUMBURL_FIELD_NUMBER;
      hash = (53 * hash) + getCDNThumbUrl().hashCode();
    }
    if (hasCDNThumbImgSize()) {
      hash = (37 * hash) + CDNTHUMBIMGSIZE_FIELD_NUMBER;
      hash = (53 * hash) + getCDNThumbImgSize();
    }
    if (hasCDNThumbImgHeigth()) {
      hash = (37 * hash) + CDNTHUMBIMGHEIGTH_FIELD_NUMBER;
      hash = (53 * hash) + getCDNThumbImgHeigth();
    }
    if (hasCDNThumbImgWidth()) {
      hash = (37 * hash) + CDNTHUMBIMGWIDTH_FIELD_NUMBER;
      hash = (53 * hash) + getCDNThumbImgWidth();
    }
    if (hasCDNThumbAESKey()) {
      hash = (37 * hash) + CDNTHUMBAESKEY_FIELD_NUMBER;
      hash = (53 * hash) + getCDNThumbAESKey().hashCode();
    }
    if (hasVideoFrom()) {
      hash = (37 * hash) + VIDEOFROM_FIELD_NUMBER;
      hash = (53 * hash) + getVideoFrom();
    }
    if (hasReqTime()) {
      hash = (37 * hash) + REQTIME_FIELD_NUMBER;
      hash = (53 * hash) + getReqTime();
    }
    if (hasVideoMd5()) {
      hash = (37 * hash) + VIDEOMD5_FIELD_NUMBER;
      hash = (53 * hash) + getVideoMd5().hashCode();
    }
    if (hasStreamVideoUrl()) {
      hash = (37 * hash) + STREAMVIDEOURL_FIELD_NUMBER;
      hash = (53 * hash) + getStreamVideoUrl().hashCode();
    }
    if (hasStreamVideoTotalTime()) {
      hash = (37 * hash) + STREAMVIDEOTOTALTIME_FIELD_NUMBER;
      hash = (53 * hash) + getStreamVideoTotalTime();
    }
    if (hasStreamVideoTitle()) {
      hash = (37 * hash) + STREAMVIDEOTITLE_FIELD_NUMBER;
      hash = (53 * hash) + getStreamVideoTitle().hashCode();
    }
    if (hasStreamVideoWording()) {
      hash = (37 * hash) + STREAMVIDEOWORDING_FIELD_NUMBER;
      hash = (53 * hash) + getStreamVideoWording().hashCode();
    }
    if (hasStreamVideoWebUrl()) {
      hash = (37 * hash) + STREAMVIDEOWEBURL_FIELD_NUMBER;
      hash = (53 * hash) + getStreamVideoWebUrl().hashCode();
    }
    if (hasStreamVideoThumbUrl()) {
      hash = (37 * hash) + STREAMVIDEOTHUMBURL_FIELD_NUMBER;
      hash = (53 * hash) + getStreamVideoThumbUrl().hashCode();
    }
    if (hasStreamVideoPublishId()) {
      hash = (37 * hash) + STREAMVIDEOPUBLISHID_FIELD_NUMBER;
      hash = (53 * hash) + getStreamVideoPublishId().hashCode();
    }
    if (hasStreamVideoAdUxInfo()) {
      hash = (37 * hash) + STREAMVIDEOADUXINFO_FIELD_NUMBER;
      hash = (53 * hash) + getStreamVideoAdUxInfo().hashCode();
    }
    if (hasStatExtStr()) {
      hash = (37 * hash) + STATEXTSTR_FIELD_NUMBER;
      hash = (53 * hash) + getStatExtStr().hashCode();
    }
    if (hasHitMd5()) {
      hash = (37 * hash) + HITMD5_FIELD_NUMBER;
      hash = (53 * hash) + getHitMd5().hashCode();
    }
    if (hasVideoNewMd5()) {
      hash = (37 * hash) + VIDEONEWMD5_FIELD_NUMBER;
      hash = (53 * hash) + getVideoNewMd5().hashCode();
    }
    if (hasCrc32()) {
      hash = (37 * hash) + CRC32_FIELD_NUMBER;
      hash = (53 * hash) + getCrc32().hashCode();
    }
    if (hasMsgForwordType()) {
      hash = (37 * hash) + MSGFORWORDTYPE_FIELD_NUMBER;
      hash = (53 * hash) + getMsgForwordType();
    }
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static wechat.protobuf.UploadVideoRequest parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static wechat.protobuf.UploadVideoRequest parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static wechat.protobuf.UploadVideoRequest parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static wechat.protobuf.UploadVideoRequest parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(wechat.protobuf.UploadVideoRequest prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code wechat_proto.UploadVideoRequest}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder implements
      // @@protoc_insertion_point(builder_implements:wechat_proto.UploadVideoRequest)
      wechat.protobuf.UploadVideoRequestOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return wechat.protobuf.Wechat.internal_static_wechat_proto_UploadVideoRequest_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return wechat.protobuf.Wechat.internal_static_wechat_proto_UploadVideoRequest_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              wechat.protobuf.UploadVideoRequest.class, wechat.protobuf.UploadVideoRequest.Builder.class);
    }

    // Construct using wechat.protobuf.UploadVideoRequest.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
        getBaseRequestFieldBuilder();
        getThumbDataFieldBuilder();
        getVideoDataFieldBuilder();
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      if (baseRequestBuilder_ == null) {
        baseRequest_ = null;
      } else {
        baseRequestBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000001);
      clientMsgID_ = "";
      bitField0_ = (bitField0_ & ~0x00000002);
      fromUserName_ = "";
      bitField0_ = (bitField0_ & ~0x00000004);
      toUserName_ = "";
      bitField0_ = (bitField0_ & ~0x00000008);
      thumbTotalLen_ = 0;
      bitField0_ = (bitField0_ & ~0x00000010);
      thumbStartPos_ = 0;
      bitField0_ = (bitField0_ & ~0x00000020);
      if (thumbDataBuilder_ == null) {
        thumbData_ = null;
      } else {
        thumbDataBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000040);
      videoTotalLen_ = 0;
      bitField0_ = (bitField0_ & ~0x00000080);
      videoStartPos_ = 0;
      bitField0_ = (bitField0_ & ~0x00000100);
      if (videoDataBuilder_ == null) {
        videoData_ = null;
      } else {
        videoDataBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000200);
      playLength_ = 0;
      bitField0_ = (bitField0_ & ~0x00000400);
      netWorkEnv_ = 0;
      bitField0_ = (bitField0_ & ~0x00000800);
      cameraType_ = 0;
      bitField0_ = (bitField0_ & ~0x00001000);
      funcFlag_ = 0;
      bitField0_ = (bitField0_ & ~0x00002000);
      msgSource_ = "";
      bitField0_ = (bitField0_ & ~0x00004000);
      cDNVideoUrl_ = "";
      bitField0_ = (bitField0_ & ~0x00008000);
      aESKey_ = "";
      bitField0_ = (bitField0_ & ~0x00010000);
      encryVer_ = 0;
      bitField0_ = (bitField0_ & ~0x00020000);
      cDNThumbUrl_ = "";
      bitField0_ = (bitField0_ & ~0x00040000);
      cDNThumbImgSize_ = 0;
      bitField0_ = (bitField0_ & ~0x00080000);
      cDNThumbImgHeigth_ = 0;
      bitField0_ = (bitField0_ & ~0x00100000);
      cDNThumbImgWidth_ = 0;
      bitField0_ = (bitField0_ & ~0x00200000);
      cDNThumbAESKey_ = "";
      bitField0_ = (bitField0_ & ~0x00400000);
      videoFrom_ = 0;
      bitField0_ = (bitField0_ & ~0x00800000);
      reqTime_ = 0;
      bitField0_ = (bitField0_ & ~0x01000000);
      videoMd5_ = "";
      bitField0_ = (bitField0_ & ~0x02000000);
      streamVideoUrl_ = "";
      bitField0_ = (bitField0_ & ~0x04000000);
      streamVideoTotalTime_ = 0;
      bitField0_ = (bitField0_ & ~0x08000000);
      streamVideoTitle_ = "";
      bitField0_ = (bitField0_ & ~0x10000000);
      streamVideoWording_ = "";
      bitField0_ = (bitField0_ & ~0x20000000);
      streamVideoWebUrl_ = "";
      bitField0_ = (bitField0_ & ~0x40000000);
      streamVideoThumbUrl_ = "";
      bitField0_ = (bitField0_ & ~0x80000000);
      streamVideoPublishId_ = "";
      bitField1_ = (bitField1_ & ~0x00000001);
      streamVideoAdUxInfo_ = "";
      bitField1_ = (bitField1_ & ~0x00000002);
      statExtStr_ = "";
      bitField1_ = (bitField1_ & ~0x00000004);
      hitMd5_ = "";
      bitField1_ = (bitField1_ & ~0x00000008);
      videoNewMd5_ = "";
      bitField1_ = (bitField1_ & ~0x00000010);
      crc32_ = "";
      bitField1_ = (bitField1_ & ~0x00000020);
      msgForwordType_ = 0;
      bitField1_ = (bitField1_ & ~0x00000040);
      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return wechat.protobuf.Wechat.internal_static_wechat_proto_UploadVideoRequest_descriptor;
    }

    @java.lang.Override
    public wechat.protobuf.UploadVideoRequest getDefaultInstanceForType() {
      return wechat.protobuf.UploadVideoRequest.getDefaultInstance();
    }

    @java.lang.Override
    public wechat.protobuf.UploadVideoRequest build() {
      wechat.protobuf.UploadVideoRequest result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public wechat.protobuf.UploadVideoRequest buildPartial() {
      wechat.protobuf.UploadVideoRequest result = new wechat.protobuf.UploadVideoRequest(this);
      int from_bitField0_ = bitField0_;
      int from_bitField1_ = bitField1_;
      int to_bitField0_ = 0;
      int to_bitField1_ = 0;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        if (baseRequestBuilder_ == null) {
          result.baseRequest_ = baseRequest_;
        } else {
          result.baseRequest_ = baseRequestBuilder_.build();
        }
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        to_bitField0_ |= 0x00000002;
      }
      result.clientMsgID_ = clientMsgID_;
      if (((from_bitField0_ & 0x00000004) != 0)) {
        to_bitField0_ |= 0x00000004;
      }
      result.fromUserName_ = fromUserName_;
      if (((from_bitField0_ & 0x00000008) != 0)) {
        to_bitField0_ |= 0x00000008;
      }
      result.toUserName_ = toUserName_;
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.thumbTotalLen_ = thumbTotalLen_;
        to_bitField0_ |= 0x00000010;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.thumbStartPos_ = thumbStartPos_;
        to_bitField0_ |= 0x00000020;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        if (thumbDataBuilder_ == null) {
          result.thumbData_ = thumbData_;
        } else {
          result.thumbData_ = thumbDataBuilder_.build();
        }
        to_bitField0_ |= 0x00000040;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.videoTotalLen_ = videoTotalLen_;
        to_bitField0_ |= 0x00000080;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.videoStartPos_ = videoStartPos_;
        to_bitField0_ |= 0x00000100;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        if (videoDataBuilder_ == null) {
          result.videoData_ = videoData_;
        } else {
          result.videoData_ = videoDataBuilder_.build();
        }
        to_bitField0_ |= 0x00000200;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.playLength_ = playLength_;
        to_bitField0_ |= 0x00000400;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.netWorkEnv_ = netWorkEnv_;
        to_bitField0_ |= 0x00000800;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.cameraType_ = cameraType_;
        to_bitField0_ |= 0x00001000;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        result.funcFlag_ = funcFlag_;
        to_bitField0_ |= 0x00002000;
      }
      if (((from_bitField0_ & 0x00004000) != 0)) {
        to_bitField0_ |= 0x00004000;
      }
      result.msgSource_ = msgSource_;
      if (((from_bitField0_ & 0x00008000) != 0)) {
        to_bitField0_ |= 0x00008000;
      }
      result.cDNVideoUrl_ = cDNVideoUrl_;
      if (((from_bitField0_ & 0x00010000) != 0)) {
        to_bitField0_ |= 0x00010000;
      }
      result.aESKey_ = aESKey_;
      if (((from_bitField0_ & 0x00020000) != 0)) {
        result.encryVer_ = encryVer_;
        to_bitField0_ |= 0x00020000;
      }
      if (((from_bitField0_ & 0x00040000) != 0)) {
        to_bitField0_ |= 0x00040000;
      }
      result.cDNThumbUrl_ = cDNThumbUrl_;
      if (((from_bitField0_ & 0x00080000) != 0)) {
        result.cDNThumbImgSize_ = cDNThumbImgSize_;
        to_bitField0_ |= 0x00080000;
      }
      if (((from_bitField0_ & 0x00100000) != 0)) {
        result.cDNThumbImgHeigth_ = cDNThumbImgHeigth_;
        to_bitField0_ |= 0x00100000;
      }
      if (((from_bitField0_ & 0x00200000) != 0)) {
        result.cDNThumbImgWidth_ = cDNThumbImgWidth_;
        to_bitField0_ |= 0x00200000;
      }
      if (((from_bitField0_ & 0x00400000) != 0)) {
        to_bitField0_ |= 0x00400000;
      }
      result.cDNThumbAESKey_ = cDNThumbAESKey_;
      if (((from_bitField0_ & 0x00800000) != 0)) {
        result.videoFrom_ = videoFrom_;
        to_bitField0_ |= 0x00800000;
      }
      if (((from_bitField0_ & 0x01000000) != 0)) {
        result.reqTime_ = reqTime_;
        to_bitField0_ |= 0x01000000;
      }
      if (((from_bitField0_ & 0x02000000) != 0)) {
        to_bitField0_ |= 0x02000000;
      }
      result.videoMd5_ = videoMd5_;
      if (((from_bitField0_ & 0x04000000) != 0)) {
        to_bitField0_ |= 0x04000000;
      }
      result.streamVideoUrl_ = streamVideoUrl_;
      if (((from_bitField0_ & 0x08000000) != 0)) {
        result.streamVideoTotalTime_ = streamVideoTotalTime_;
        to_bitField0_ |= 0x08000000;
      }
      if (((from_bitField0_ & 0x10000000) != 0)) {
        to_bitField0_ |= 0x10000000;
      }
      result.streamVideoTitle_ = streamVideoTitle_;
      if (((from_bitField0_ & 0x20000000) != 0)) {
        to_bitField0_ |= 0x20000000;
      }
      result.streamVideoWording_ = streamVideoWording_;
      if (((from_bitField0_ & 0x40000000) != 0)) {
        to_bitField0_ |= 0x40000000;
      }
      result.streamVideoWebUrl_ = streamVideoWebUrl_;
      if (((from_bitField0_ & 0x80000000) != 0)) {
        to_bitField0_ |= 0x80000000;
      }
      result.streamVideoThumbUrl_ = streamVideoThumbUrl_;
      if (((from_bitField1_ & 0x00000001) != 0)) {
        to_bitField1_ |= 0x00000001;
      }
      result.streamVideoPublishId_ = streamVideoPublishId_;
      if (((from_bitField1_ & 0x00000002) != 0)) {
        to_bitField1_ |= 0x00000002;
      }
      result.streamVideoAdUxInfo_ = streamVideoAdUxInfo_;
      if (((from_bitField1_ & 0x00000004) != 0)) {
        to_bitField1_ |= 0x00000004;
      }
      result.statExtStr_ = statExtStr_;
      if (((from_bitField1_ & 0x00000008) != 0)) {
        to_bitField1_ |= 0x00000008;
      }
      result.hitMd5_ = hitMd5_;
      if (((from_bitField1_ & 0x00000010) != 0)) {
        to_bitField1_ |= 0x00000010;
      }
      result.videoNewMd5_ = videoNewMd5_;
      if (((from_bitField1_ & 0x00000020) != 0)) {
        to_bitField1_ |= 0x00000020;
      }
      result.crc32_ = crc32_;
      if (((from_bitField1_ & 0x00000040) != 0)) {
        result.msgForwordType_ = msgForwordType_;
        to_bitField1_ |= 0x00000040;
      }
      result.bitField0_ = to_bitField0_;
      result.bitField1_ = to_bitField1_;
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }
    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.setField(field, value);
    }
    @java.lang.Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @java.lang.Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }
    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof wechat.protobuf.UploadVideoRequest) {
        return mergeFrom((wechat.protobuf.UploadVideoRequest)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(wechat.protobuf.UploadVideoRequest other) {
      if (other == wechat.protobuf.UploadVideoRequest.getDefaultInstance()) return this;
      if (other.hasBaseRequest()) {
        mergeBaseRequest(other.getBaseRequest());
      }
      if (other.hasClientMsgID()) {
        bitField0_ |= 0x00000002;
        clientMsgID_ = other.clientMsgID_;
        onChanged();
      }
      if (other.hasFromUserName()) {
        bitField0_ |= 0x00000004;
        fromUserName_ = other.fromUserName_;
        onChanged();
      }
      if (other.hasToUserName()) {
        bitField0_ |= 0x00000008;
        toUserName_ = other.toUserName_;
        onChanged();
      }
      if (other.hasThumbTotalLen()) {
        setThumbTotalLen(other.getThumbTotalLen());
      }
      if (other.hasThumbStartPos()) {
        setThumbStartPos(other.getThumbStartPos());
      }
      if (other.hasThumbData()) {
        mergeThumbData(other.getThumbData());
      }
      if (other.hasVideoTotalLen()) {
        setVideoTotalLen(other.getVideoTotalLen());
      }
      if (other.hasVideoStartPos()) {
        setVideoStartPos(other.getVideoStartPos());
      }
      if (other.hasVideoData()) {
        mergeVideoData(other.getVideoData());
      }
      if (other.hasPlayLength()) {
        setPlayLength(other.getPlayLength());
      }
      if (other.hasNetWorkEnv()) {
        setNetWorkEnv(other.getNetWorkEnv());
      }
      if (other.hasCameraType()) {
        setCameraType(other.getCameraType());
      }
      if (other.hasFuncFlag()) {
        setFuncFlag(other.getFuncFlag());
      }
      if (other.hasMsgSource()) {
        bitField0_ |= 0x00004000;
        msgSource_ = other.msgSource_;
        onChanged();
      }
      if (other.hasCDNVideoUrl()) {
        bitField0_ |= 0x00008000;
        cDNVideoUrl_ = other.cDNVideoUrl_;
        onChanged();
      }
      if (other.hasAESKey()) {
        bitField0_ |= 0x00010000;
        aESKey_ = other.aESKey_;
        onChanged();
      }
      if (other.hasEncryVer()) {
        setEncryVer(other.getEncryVer());
      }
      if (other.hasCDNThumbUrl()) {
        bitField0_ |= 0x00040000;
        cDNThumbUrl_ = other.cDNThumbUrl_;
        onChanged();
      }
      if (other.hasCDNThumbImgSize()) {
        setCDNThumbImgSize(other.getCDNThumbImgSize());
      }
      if (other.hasCDNThumbImgHeigth()) {
        setCDNThumbImgHeigth(other.getCDNThumbImgHeigth());
      }
      if (other.hasCDNThumbImgWidth()) {
        setCDNThumbImgWidth(other.getCDNThumbImgWidth());
      }
      if (other.hasCDNThumbAESKey()) {
        bitField0_ |= 0x00400000;
        cDNThumbAESKey_ = other.cDNThumbAESKey_;
        onChanged();
      }
      if (other.hasVideoFrom()) {
        setVideoFrom(other.getVideoFrom());
      }
      if (other.hasReqTime()) {
        setReqTime(other.getReqTime());
      }
      if (other.hasVideoMd5()) {
        bitField0_ |= 0x02000000;
        videoMd5_ = other.videoMd5_;
        onChanged();
      }
      if (other.hasStreamVideoUrl()) {
        bitField0_ |= 0x04000000;
        streamVideoUrl_ = other.streamVideoUrl_;
        onChanged();
      }
      if (other.hasStreamVideoTotalTime()) {
        setStreamVideoTotalTime(other.getStreamVideoTotalTime());
      }
      if (other.hasStreamVideoTitle()) {
        bitField0_ |= 0x10000000;
        streamVideoTitle_ = other.streamVideoTitle_;
        onChanged();
      }
      if (other.hasStreamVideoWording()) {
        bitField0_ |= 0x20000000;
        streamVideoWording_ = other.streamVideoWording_;
        onChanged();
      }
      if (other.hasStreamVideoWebUrl()) {
        bitField0_ |= 0x40000000;
        streamVideoWebUrl_ = other.streamVideoWebUrl_;
        onChanged();
      }
      if (other.hasStreamVideoThumbUrl()) {
        bitField0_ |= 0x80000000;
        streamVideoThumbUrl_ = other.streamVideoThumbUrl_;
        onChanged();
      }
      if (other.hasStreamVideoPublishId()) {
        bitField1_ |= 0x00000001;
        streamVideoPublishId_ = other.streamVideoPublishId_;
        onChanged();
      }
      if (other.hasStreamVideoAdUxInfo()) {
        bitField1_ |= 0x00000002;
        streamVideoAdUxInfo_ = other.streamVideoAdUxInfo_;
        onChanged();
      }
      if (other.hasStatExtStr()) {
        bitField1_ |= 0x00000004;
        statExtStr_ = other.statExtStr_;
        onChanged();
      }
      if (other.hasHitMd5()) {
        bitField1_ |= 0x00000008;
        hitMd5_ = other.hitMd5_;
        onChanged();
      }
      if (other.hasVideoNewMd5()) {
        bitField1_ |= 0x00000010;
        videoNewMd5_ = other.videoNewMd5_;
        onChanged();
      }
      if (other.hasCrc32()) {
        bitField1_ |= 0x00000020;
        crc32_ = other.crc32_;
        onChanged();
      }
      if (other.hasMsgForwordType()) {
        setMsgForwordType(other.getMsgForwordType());
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      wechat.protobuf.UploadVideoRequest parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (wechat.protobuf.UploadVideoRequest) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }
    private int bitField0_;
    private int bitField1_;

    private wechat.protobuf.BaseRequest baseRequest_;
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder> baseRequestBuilder_;
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     * @return Whether the baseRequest field is set.
     */
    public boolean hasBaseRequest() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     * @return The baseRequest.
     */
    public wechat.protobuf.BaseRequest getBaseRequest() {
      if (baseRequestBuilder_ == null) {
        return baseRequest_ == null ? wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
      } else {
        return baseRequestBuilder_.getMessage();
      }
    }
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     */
    public Builder setBaseRequest(wechat.protobuf.BaseRequest value) {
      if (baseRequestBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        baseRequest_ = value;
        onChanged();
      } else {
        baseRequestBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000001;
      return this;
    }
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     */
    public Builder setBaseRequest(
        wechat.protobuf.BaseRequest.Builder builderForValue) {
      if (baseRequestBuilder_ == null) {
        baseRequest_ = builderForValue.build();
        onChanged();
      } else {
        baseRequestBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000001;
      return this;
    }
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     */
    public Builder mergeBaseRequest(wechat.protobuf.BaseRequest value) {
      if (baseRequestBuilder_ == null) {
        if (((bitField0_ & 0x00000001) != 0) &&
            baseRequest_ != null &&
            baseRequest_ != wechat.protobuf.BaseRequest.getDefaultInstance()) {
          baseRequest_ =
            wechat.protobuf.BaseRequest.newBuilder(baseRequest_).mergeFrom(value).buildPartial();
        } else {
          baseRequest_ = value;
        }
        onChanged();
      } else {
        baseRequestBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000001;
      return this;
    }
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     */
    public Builder clearBaseRequest() {
      if (baseRequestBuilder_ == null) {
        baseRequest_ = null;
        onChanged();
      } else {
        baseRequestBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000001);
      return this;
    }
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     */
    public wechat.protobuf.BaseRequest.Builder getBaseRequestBuilder() {
      bitField0_ |= 0x00000001;
      onChanged();
      return getBaseRequestFieldBuilder().getBuilder();
    }
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     */
    public wechat.protobuf.BaseRequestOrBuilder getBaseRequestOrBuilder() {
      if (baseRequestBuilder_ != null) {
        return baseRequestBuilder_.getMessageOrBuilder();
      } else {
        return baseRequest_ == null ?
            wechat.protobuf.BaseRequest.getDefaultInstance() : baseRequest_;
      }
    }
    /**
     * optional .wechat_proto.BaseRequest BaseRequest = 1;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder> 
        getBaseRequestFieldBuilder() {
      if (baseRequestBuilder_ == null) {
        baseRequestBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            wechat.protobuf.BaseRequest, wechat.protobuf.BaseRequest.Builder, wechat.protobuf.BaseRequestOrBuilder>(
                getBaseRequest(),
                getParentForChildren(),
                isClean());
        baseRequest_ = null;
      }
      return baseRequestBuilder_;
    }

    private java.lang.Object clientMsgID_ = "";
    /**
     * optional string ClientMsgID = 2;
     * @return Whether the clientMsgID field is set.
     */
    public boolean hasClientMsgID() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * optional string ClientMsgID = 2;
     * @return The clientMsgID.
     */
    public java.lang.String getClientMsgID() {
      java.lang.Object ref = clientMsgID_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          clientMsgID_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string ClientMsgID = 2;
     * @return The bytes for clientMsgID.
     */
    public com.google.protobuf.ByteString
        getClientMsgIDBytes() {
      java.lang.Object ref = clientMsgID_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        clientMsgID_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string ClientMsgID = 2;
     * @param value The clientMsgID to set.
     * @return This builder for chaining.
     */
    public Builder setClientMsgID(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
      clientMsgID_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string ClientMsgID = 2;
     * @return This builder for chaining.
     */
    public Builder clearClientMsgID() {
      bitField0_ = (bitField0_ & ~0x00000002);
      clientMsgID_ = getDefaultInstance().getClientMsgID();
      onChanged();
      return this;
    }
    /**
     * optional string ClientMsgID = 2;
     * @param value The bytes for clientMsgID to set.
     * @return This builder for chaining.
     */
    public Builder setClientMsgIDBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000002;
      clientMsgID_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object fromUserName_ = "";
    /**
     * optional string FromUserName = 3;
     * @return Whether the fromUserName field is set.
     */
    public boolean hasFromUserName() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * optional string FromUserName = 3;
     * @return The fromUserName.
     */
    public java.lang.String getFromUserName() {
      java.lang.Object ref = fromUserName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          fromUserName_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string FromUserName = 3;
     * @return The bytes for fromUserName.
     */
    public com.google.protobuf.ByteString
        getFromUserNameBytes() {
      java.lang.Object ref = fromUserName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        fromUserName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string FromUserName = 3;
     * @param value The fromUserName to set.
     * @return This builder for chaining.
     */
    public Builder setFromUserName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
      fromUserName_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string FromUserName = 3;
     * @return This builder for chaining.
     */
    public Builder clearFromUserName() {
      bitField0_ = (bitField0_ & ~0x00000004);
      fromUserName_ = getDefaultInstance().getFromUserName();
      onChanged();
      return this;
    }
    /**
     * optional string FromUserName = 3;
     * @param value The bytes for fromUserName to set.
     * @return This builder for chaining.
     */
    public Builder setFromUserNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
      fromUserName_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object toUserName_ = "";
    /**
     * optional string ToUserName = 4;
     * @return Whether the toUserName field is set.
     */
    public boolean hasToUserName() {
      return ((bitField0_ & 0x00000008) != 0);
    }
    /**
     * optional string ToUserName = 4;
     * @return The toUserName.
     */
    public java.lang.String getToUserName() {
      java.lang.Object ref = toUserName_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          toUserName_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string ToUserName = 4;
     * @return The bytes for toUserName.
     */
    public com.google.protobuf.ByteString
        getToUserNameBytes() {
      java.lang.Object ref = toUserName_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        toUserName_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string ToUserName = 4;
     * @param value The toUserName to set.
     * @return This builder for chaining.
     */
    public Builder setToUserName(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
      toUserName_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string ToUserName = 4;
     * @return This builder for chaining.
     */
    public Builder clearToUserName() {
      bitField0_ = (bitField0_ & ~0x00000008);
      toUserName_ = getDefaultInstance().getToUserName();
      onChanged();
      return this;
    }
    /**
     * optional string ToUserName = 4;
     * @param value The bytes for toUserName to set.
     * @return This builder for chaining.
     */
    public Builder setToUserNameBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000008;
      toUserName_ = value;
      onChanged();
      return this;
    }

    private int thumbTotalLen_ ;
    /**
     * optional uint32 ThumbTotalLen = 5;
     * @return Whether the thumbTotalLen field is set.
     */
    @java.lang.Override
    public boolean hasThumbTotalLen() {
      return ((bitField0_ & 0x00000010) != 0);
    }
    /**
     * optional uint32 ThumbTotalLen = 5;
     * @return The thumbTotalLen.
     */
    @java.lang.Override
    public int getThumbTotalLen() {
      return thumbTotalLen_;
    }
    /**
     * optional uint32 ThumbTotalLen = 5;
     * @param value The thumbTotalLen to set.
     * @return This builder for chaining.
     */
    public Builder setThumbTotalLen(int value) {
      bitField0_ |= 0x00000010;
      thumbTotalLen_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 ThumbTotalLen = 5;
     * @return This builder for chaining.
     */
    public Builder clearThumbTotalLen() {
      bitField0_ = (bitField0_ & ~0x00000010);
      thumbTotalLen_ = 0;
      onChanged();
      return this;
    }

    private int thumbStartPos_ ;
    /**
     * optional uint32 ThumbStartPos = 6;
     * @return Whether the thumbStartPos field is set.
     */
    @java.lang.Override
    public boolean hasThumbStartPos() {
      return ((bitField0_ & 0x00000020) != 0);
    }
    /**
     * optional uint32 ThumbStartPos = 6;
     * @return The thumbStartPos.
     */
    @java.lang.Override
    public int getThumbStartPos() {
      return thumbStartPos_;
    }
    /**
     * optional uint32 ThumbStartPos = 6;
     * @param value The thumbStartPos to set.
     * @return This builder for chaining.
     */
    public Builder setThumbStartPos(int value) {
      bitField0_ |= 0x00000020;
      thumbStartPos_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 ThumbStartPos = 6;
     * @return This builder for chaining.
     */
    public Builder clearThumbStartPos() {
      bitField0_ = (bitField0_ & ~0x00000020);
      thumbStartPos_ = 0;
      onChanged();
      return this;
    }

    private wechat.protobuf.SKBuiltinString_ thumbData_;
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> thumbDataBuilder_;
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     * @return Whether the thumbData field is set.
     */
    public boolean hasThumbData() {
      return ((bitField0_ & 0x00000040) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     * @return The thumbData.
     */
    public wechat.protobuf.SKBuiltinString_ getThumbData() {
      if (thumbDataBuilder_ == null) {
        return thumbData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : thumbData_;
      } else {
        return thumbDataBuilder_.getMessage();
      }
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     */
    public Builder setThumbData(wechat.protobuf.SKBuiltinString_ value) {
      if (thumbDataBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        thumbData_ = value;
        onChanged();
      } else {
        thumbDataBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000040;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     */
    public Builder setThumbData(
        wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
      if (thumbDataBuilder_ == null) {
        thumbData_ = builderForValue.build();
        onChanged();
      } else {
        thumbDataBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000040;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     */
    public Builder mergeThumbData(wechat.protobuf.SKBuiltinString_ value) {
      if (thumbDataBuilder_ == null) {
        if (((bitField0_ & 0x00000040) != 0) &&
            thumbData_ != null &&
            thumbData_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
          thumbData_ =
            wechat.protobuf.SKBuiltinString_.newBuilder(thumbData_).mergeFrom(value).buildPartial();
        } else {
          thumbData_ = value;
        }
        onChanged();
      } else {
        thumbDataBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000040;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     */
    public Builder clearThumbData() {
      if (thumbDataBuilder_ == null) {
        thumbData_ = null;
        onChanged();
      } else {
        thumbDataBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000040);
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     */
    public wechat.protobuf.SKBuiltinString_.Builder getThumbDataBuilder() {
      bitField0_ |= 0x00000040;
      onChanged();
      return getThumbDataFieldBuilder().getBuilder();
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     */
    public wechat.protobuf.SKBuiltinString_OrBuilder getThumbDataOrBuilder() {
      if (thumbDataBuilder_ != null) {
        return thumbDataBuilder_.getMessageOrBuilder();
      } else {
        return thumbData_ == null ?
            wechat.protobuf.SKBuiltinString_.getDefaultInstance() : thumbData_;
      }
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ ThumbData = 7;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
        getThumbDataFieldBuilder() {
      if (thumbDataBuilder_ == null) {
        thumbDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                getThumbData(),
                getParentForChildren(),
                isClean());
        thumbData_ = null;
      }
      return thumbDataBuilder_;
    }

    private int videoTotalLen_ ;
    /**
     * optional uint32 VideoTotalLen = 8;
     * @return Whether the videoTotalLen field is set.
     */
    @java.lang.Override
    public boolean hasVideoTotalLen() {
      return ((bitField0_ & 0x00000080) != 0);
    }
    /**
     * optional uint32 VideoTotalLen = 8;
     * @return The videoTotalLen.
     */
    @java.lang.Override
    public int getVideoTotalLen() {
      return videoTotalLen_;
    }
    /**
     * optional uint32 VideoTotalLen = 8;
     * @param value The videoTotalLen to set.
     * @return This builder for chaining.
     */
    public Builder setVideoTotalLen(int value) {
      bitField0_ |= 0x00000080;
      videoTotalLen_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 VideoTotalLen = 8;
     * @return This builder for chaining.
     */
    public Builder clearVideoTotalLen() {
      bitField0_ = (bitField0_ & ~0x00000080);
      videoTotalLen_ = 0;
      onChanged();
      return this;
    }

    private int videoStartPos_ ;
    /**
     * optional uint32 VideoStartPos = 9;
     * @return Whether the videoStartPos field is set.
     */
    @java.lang.Override
    public boolean hasVideoStartPos() {
      return ((bitField0_ & 0x00000100) != 0);
    }
    /**
     * optional uint32 VideoStartPos = 9;
     * @return The videoStartPos.
     */
    @java.lang.Override
    public int getVideoStartPos() {
      return videoStartPos_;
    }
    /**
     * optional uint32 VideoStartPos = 9;
     * @param value The videoStartPos to set.
     * @return This builder for chaining.
     */
    public Builder setVideoStartPos(int value) {
      bitField0_ |= 0x00000100;
      videoStartPos_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 VideoStartPos = 9;
     * @return This builder for chaining.
     */
    public Builder clearVideoStartPos() {
      bitField0_ = (bitField0_ & ~0x00000100);
      videoStartPos_ = 0;
      onChanged();
      return this;
    }

    private wechat.protobuf.SKBuiltinString_ videoData_;
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> videoDataBuilder_;
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     * @return Whether the videoData field is set.
     */
    public boolean hasVideoData() {
      return ((bitField0_ & 0x00000200) != 0);
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     * @return The videoData.
     */
    public wechat.protobuf.SKBuiltinString_ getVideoData() {
      if (videoDataBuilder_ == null) {
        return videoData_ == null ? wechat.protobuf.SKBuiltinString_.getDefaultInstance() : videoData_;
      } else {
        return videoDataBuilder_.getMessage();
      }
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     */
    public Builder setVideoData(wechat.protobuf.SKBuiltinString_ value) {
      if (videoDataBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        videoData_ = value;
        onChanged();
      } else {
        videoDataBuilder_.setMessage(value);
      }
      bitField0_ |= 0x00000200;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     */
    public Builder setVideoData(
        wechat.protobuf.SKBuiltinString_.Builder builderForValue) {
      if (videoDataBuilder_ == null) {
        videoData_ = builderForValue.build();
        onChanged();
      } else {
        videoDataBuilder_.setMessage(builderForValue.build());
      }
      bitField0_ |= 0x00000200;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     */
    public Builder mergeVideoData(wechat.protobuf.SKBuiltinString_ value) {
      if (videoDataBuilder_ == null) {
        if (((bitField0_ & 0x00000200) != 0) &&
            videoData_ != null &&
            videoData_ != wechat.protobuf.SKBuiltinString_.getDefaultInstance()) {
          videoData_ =
            wechat.protobuf.SKBuiltinString_.newBuilder(videoData_).mergeFrom(value).buildPartial();
        } else {
          videoData_ = value;
        }
        onChanged();
      } else {
        videoDataBuilder_.mergeFrom(value);
      }
      bitField0_ |= 0x00000200;
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     */
    public Builder clearVideoData() {
      if (videoDataBuilder_ == null) {
        videoData_ = null;
        onChanged();
      } else {
        videoDataBuilder_.clear();
      }
      bitField0_ = (bitField0_ & ~0x00000200);
      return this;
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     */
    public wechat.protobuf.SKBuiltinString_.Builder getVideoDataBuilder() {
      bitField0_ |= 0x00000200;
      onChanged();
      return getVideoDataFieldBuilder().getBuilder();
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     */
    public wechat.protobuf.SKBuiltinString_OrBuilder getVideoDataOrBuilder() {
      if (videoDataBuilder_ != null) {
        return videoDataBuilder_.getMessageOrBuilder();
      } else {
        return videoData_ == null ?
            wechat.protobuf.SKBuiltinString_.getDefaultInstance() : videoData_;
      }
    }
    /**
     * optional .wechat_proto.SKBuiltinString_ VideoData = 10;
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder> 
        getVideoDataFieldBuilder() {
      if (videoDataBuilder_ == null) {
        videoDataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            wechat.protobuf.SKBuiltinString_, wechat.protobuf.SKBuiltinString_.Builder, wechat.protobuf.SKBuiltinString_OrBuilder>(
                getVideoData(),
                getParentForChildren(),
                isClean());
        videoData_ = null;
      }
      return videoDataBuilder_;
    }

    private int playLength_ ;
    /**
     * optional uint32 PlayLength = 11;
     * @return Whether the playLength field is set.
     */
    @java.lang.Override
    public boolean hasPlayLength() {
      return ((bitField0_ & 0x00000400) != 0);
    }
    /**
     * optional uint32 PlayLength = 11;
     * @return The playLength.
     */
    @java.lang.Override
    public int getPlayLength() {
      return playLength_;
    }
    /**
     * optional uint32 PlayLength = 11;
     * @param value The playLength to set.
     * @return This builder for chaining.
     */
    public Builder setPlayLength(int value) {
      bitField0_ |= 0x00000400;
      playLength_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 PlayLength = 11;
     * @return This builder for chaining.
     */
    public Builder clearPlayLength() {
      bitField0_ = (bitField0_ & ~0x00000400);
      playLength_ = 0;
      onChanged();
      return this;
    }

    private int netWorkEnv_ ;
    /**
     * optional uint32 NetWorkEnv = 12;
     * @return Whether the netWorkEnv field is set.
     */
    @java.lang.Override
    public boolean hasNetWorkEnv() {
      return ((bitField0_ & 0x00000800) != 0);
    }
    /**
     * optional uint32 NetWorkEnv = 12;
     * @return The netWorkEnv.
     */
    @java.lang.Override
    public int getNetWorkEnv() {
      return netWorkEnv_;
    }
    /**
     * optional uint32 NetWorkEnv = 12;
     * @param value The netWorkEnv to set.
     * @return This builder for chaining.
     */
    public Builder setNetWorkEnv(int value) {
      bitField0_ |= 0x00000800;
      netWorkEnv_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 NetWorkEnv = 12;
     * @return This builder for chaining.
     */
    public Builder clearNetWorkEnv() {
      bitField0_ = (bitField0_ & ~0x00000800);
      netWorkEnv_ = 0;
      onChanged();
      return this;
    }

    private int cameraType_ ;
    /**
     * optional uint32 CameraType = 13;
     * @return Whether the cameraType field is set.
     */
    @java.lang.Override
    public boolean hasCameraType() {
      return ((bitField0_ & 0x00001000) != 0);
    }
    /**
     * optional uint32 CameraType = 13;
     * @return The cameraType.
     */
    @java.lang.Override
    public int getCameraType() {
      return cameraType_;
    }
    /**
     * optional uint32 CameraType = 13;
     * @param value The cameraType to set.
     * @return This builder for chaining.
     */
    public Builder setCameraType(int value) {
      bitField0_ |= 0x00001000;
      cameraType_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 CameraType = 13;
     * @return This builder for chaining.
     */
    public Builder clearCameraType() {
      bitField0_ = (bitField0_ & ~0x00001000);
      cameraType_ = 0;
      onChanged();
      return this;
    }

    private int funcFlag_ ;
    /**
     * optional uint32 FuncFlag = 14;
     * @return Whether the funcFlag field is set.
     */
    @java.lang.Override
    public boolean hasFuncFlag() {
      return ((bitField0_ & 0x00002000) != 0);
    }
    /**
     * optional uint32 FuncFlag = 14;
     * @return The funcFlag.
     */
    @java.lang.Override
    public int getFuncFlag() {
      return funcFlag_;
    }
    /**
     * optional uint32 FuncFlag = 14;
     * @param value The funcFlag to set.
     * @return This builder for chaining.
     */
    public Builder setFuncFlag(int value) {
      bitField0_ |= 0x00002000;
      funcFlag_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 FuncFlag = 14;
     * @return This builder for chaining.
     */
    public Builder clearFuncFlag() {
      bitField0_ = (bitField0_ & ~0x00002000);
      funcFlag_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object msgSource_ = "";
    /**
     * optional string MsgSource = 15;
     * @return Whether the msgSource field is set.
     */
    public boolean hasMsgSource() {
      return ((bitField0_ & 0x00004000) != 0);
    }
    /**
     * optional string MsgSource = 15;
     * @return The msgSource.
     */
    public java.lang.String getMsgSource() {
      java.lang.Object ref = msgSource_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          msgSource_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string MsgSource = 15;
     * @return The bytes for msgSource.
     */
    public com.google.protobuf.ByteString
        getMsgSourceBytes() {
      java.lang.Object ref = msgSource_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        msgSource_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string MsgSource = 15;
     * @param value The msgSource to set.
     * @return This builder for chaining.
     */
    public Builder setMsgSource(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
      msgSource_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string MsgSource = 15;
     * @return This builder for chaining.
     */
    public Builder clearMsgSource() {
      bitField0_ = (bitField0_ & ~0x00004000);
      msgSource_ = getDefaultInstance().getMsgSource();
      onChanged();
      return this;
    }
    /**
     * optional string MsgSource = 15;
     * @param value The bytes for msgSource to set.
     * @return This builder for chaining.
     */
    public Builder setMsgSourceBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00004000;
      msgSource_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object cDNVideoUrl_ = "";
    /**
     * optional string CDNVideoUrl = 16;
     * @return Whether the cDNVideoUrl field is set.
     */
    public boolean hasCDNVideoUrl() {
      return ((bitField0_ & 0x00008000) != 0);
    }
    /**
     * optional string CDNVideoUrl = 16;
     * @return The cDNVideoUrl.
     */
    public java.lang.String getCDNVideoUrl() {
      java.lang.Object ref = cDNVideoUrl_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          cDNVideoUrl_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string CDNVideoUrl = 16;
     * @return The bytes for cDNVideoUrl.
     */
    public com.google.protobuf.ByteString
        getCDNVideoUrlBytes() {
      java.lang.Object ref = cDNVideoUrl_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cDNVideoUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string CDNVideoUrl = 16;
     * @param value The cDNVideoUrl to set.
     * @return This builder for chaining.
     */
    public Builder setCDNVideoUrl(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00008000;
      cDNVideoUrl_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string CDNVideoUrl = 16;
     * @return This builder for chaining.
     */
    public Builder clearCDNVideoUrl() {
      bitField0_ = (bitField0_ & ~0x00008000);
      cDNVideoUrl_ = getDefaultInstance().getCDNVideoUrl();
      onChanged();
      return this;
    }
    /**
     * optional string CDNVideoUrl = 16;
     * @param value The bytes for cDNVideoUrl to set.
     * @return This builder for chaining.
     */
    public Builder setCDNVideoUrlBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00008000;
      cDNVideoUrl_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object aESKey_ = "";
    /**
     * optional string AESKey = 17;
     * @return Whether the aESKey field is set.
     */
    public boolean hasAESKey() {
      return ((bitField0_ & 0x00010000) != 0);
    }
    /**
     * optional string AESKey = 17;
     * @return The aESKey.
     */
    public java.lang.String getAESKey() {
      java.lang.Object ref = aESKey_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          aESKey_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string AESKey = 17;
     * @return The bytes for aESKey.
     */
    public com.google.protobuf.ByteString
        getAESKeyBytes() {
      java.lang.Object ref = aESKey_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        aESKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string AESKey = 17;
     * @param value The aESKey to set.
     * @return This builder for chaining.
     */
    public Builder setAESKey(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
      aESKey_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string AESKey = 17;
     * @return This builder for chaining.
     */
    public Builder clearAESKey() {
      bitField0_ = (bitField0_ & ~0x00010000);
      aESKey_ = getDefaultInstance().getAESKey();
      onChanged();
      return this;
    }
    /**
     * optional string AESKey = 17;
     * @param value The bytes for aESKey to set.
     * @return This builder for chaining.
     */
    public Builder setAESKeyBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00010000;
      aESKey_ = value;
      onChanged();
      return this;
    }

    private int encryVer_ ;
    /**
     * optional int32 EncryVer = 18;
     * @return Whether the encryVer field is set.
     */
    @java.lang.Override
    public boolean hasEncryVer() {
      return ((bitField0_ & 0x00020000) != 0);
    }
    /**
     * optional int32 EncryVer = 18;
     * @return The encryVer.
     */
    @java.lang.Override
    public int getEncryVer() {
      return encryVer_;
    }
    /**
     * optional int32 EncryVer = 18;
     * @param value The encryVer to set.
     * @return This builder for chaining.
     */
    public Builder setEncryVer(int value) {
      bitField0_ |= 0x00020000;
      encryVer_ = value;
      onChanged();
      return this;
    }
    /**
     * optional int32 EncryVer = 18;
     * @return This builder for chaining.
     */
    public Builder clearEncryVer() {
      bitField0_ = (bitField0_ & ~0x00020000);
      encryVer_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object cDNThumbUrl_ = "";
    /**
     * optional string CDNThumbUrl = 19;
     * @return Whether the cDNThumbUrl field is set.
     */
    public boolean hasCDNThumbUrl() {
      return ((bitField0_ & 0x00040000) != 0);
    }
    /**
     * optional string CDNThumbUrl = 19;
     * @return The cDNThumbUrl.
     */
    public java.lang.String getCDNThumbUrl() {
      java.lang.Object ref = cDNThumbUrl_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          cDNThumbUrl_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string CDNThumbUrl = 19;
     * @return The bytes for cDNThumbUrl.
     */
    public com.google.protobuf.ByteString
        getCDNThumbUrlBytes() {
      java.lang.Object ref = cDNThumbUrl_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cDNThumbUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string CDNThumbUrl = 19;
     * @param value The cDNThumbUrl to set.
     * @return This builder for chaining.
     */
    public Builder setCDNThumbUrl(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00040000;
      cDNThumbUrl_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string CDNThumbUrl = 19;
     * @return This builder for chaining.
     */
    public Builder clearCDNThumbUrl() {
      bitField0_ = (bitField0_ & ~0x00040000);
      cDNThumbUrl_ = getDefaultInstance().getCDNThumbUrl();
      onChanged();
      return this;
    }
    /**
     * optional string CDNThumbUrl = 19;
     * @param value The bytes for cDNThumbUrl to set.
     * @return This builder for chaining.
     */
    public Builder setCDNThumbUrlBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00040000;
      cDNThumbUrl_ = value;
      onChanged();
      return this;
    }

    private int cDNThumbImgSize_ ;
    /**
     * optional int32 CDNThumbImgSize = 20;
     * @return Whether the cDNThumbImgSize field is set.
     */
    @java.lang.Override
    public boolean hasCDNThumbImgSize() {
      return ((bitField0_ & 0x00080000) != 0);
    }
    /**
     * optional int32 CDNThumbImgSize = 20;
     * @return The cDNThumbImgSize.
     */
    @java.lang.Override
    public int getCDNThumbImgSize() {
      return cDNThumbImgSize_;
    }
    /**
     * optional int32 CDNThumbImgSize = 20;
     * @param value The cDNThumbImgSize to set.
     * @return This builder for chaining.
     */
    public Builder setCDNThumbImgSize(int value) {
      bitField0_ |= 0x00080000;
      cDNThumbImgSize_ = value;
      onChanged();
      return this;
    }
    /**
     * optional int32 CDNThumbImgSize = 20;
     * @return This builder for chaining.
     */
    public Builder clearCDNThumbImgSize() {
      bitField0_ = (bitField0_ & ~0x00080000);
      cDNThumbImgSize_ = 0;
      onChanged();
      return this;
    }

    private int cDNThumbImgHeigth_ ;
    /**
     * optional int32 CDNThumbImgHeigth = 21;
     * @return Whether the cDNThumbImgHeigth field is set.
     */
    @java.lang.Override
    public boolean hasCDNThumbImgHeigth() {
      return ((bitField0_ & 0x00100000) != 0);
    }
    /**
     * optional int32 CDNThumbImgHeigth = 21;
     * @return The cDNThumbImgHeigth.
     */
    @java.lang.Override
    public int getCDNThumbImgHeigth() {
      return cDNThumbImgHeigth_;
    }
    /**
     * optional int32 CDNThumbImgHeigth = 21;
     * @param value The cDNThumbImgHeigth to set.
     * @return This builder for chaining.
     */
    public Builder setCDNThumbImgHeigth(int value) {
      bitField0_ |= 0x00100000;
      cDNThumbImgHeigth_ = value;
      onChanged();
      return this;
    }
    /**
     * optional int32 CDNThumbImgHeigth = 21;
     * @return This builder for chaining.
     */
    public Builder clearCDNThumbImgHeigth() {
      bitField0_ = (bitField0_ & ~0x00100000);
      cDNThumbImgHeigth_ = 0;
      onChanged();
      return this;
    }

    private int cDNThumbImgWidth_ ;
    /**
     * optional int32 CDNThumbImgWidth = 22;
     * @return Whether the cDNThumbImgWidth field is set.
     */
    @java.lang.Override
    public boolean hasCDNThumbImgWidth() {
      return ((bitField0_ & 0x00200000) != 0);
    }
    /**
     * optional int32 CDNThumbImgWidth = 22;
     * @return The cDNThumbImgWidth.
     */
    @java.lang.Override
    public int getCDNThumbImgWidth() {
      return cDNThumbImgWidth_;
    }
    /**
     * optional int32 CDNThumbImgWidth = 22;
     * @param value The cDNThumbImgWidth to set.
     * @return This builder for chaining.
     */
    public Builder setCDNThumbImgWidth(int value) {
      bitField0_ |= 0x00200000;
      cDNThumbImgWidth_ = value;
      onChanged();
      return this;
    }
    /**
     * optional int32 CDNThumbImgWidth = 22;
     * @return This builder for chaining.
     */
    public Builder clearCDNThumbImgWidth() {
      bitField0_ = (bitField0_ & ~0x00200000);
      cDNThumbImgWidth_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object cDNThumbAESKey_ = "";
    /**
     * optional string CDNThumbAESKey = 23;
     * @return Whether the cDNThumbAESKey field is set.
     */
    public boolean hasCDNThumbAESKey() {
      return ((bitField0_ & 0x00400000) != 0);
    }
    /**
     * optional string CDNThumbAESKey = 23;
     * @return The cDNThumbAESKey.
     */
    public java.lang.String getCDNThumbAESKey() {
      java.lang.Object ref = cDNThumbAESKey_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          cDNThumbAESKey_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string CDNThumbAESKey = 23;
     * @return The bytes for cDNThumbAESKey.
     */
    public com.google.protobuf.ByteString
        getCDNThumbAESKeyBytes() {
      java.lang.Object ref = cDNThumbAESKey_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        cDNThumbAESKey_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string CDNThumbAESKey = 23;
     * @param value The cDNThumbAESKey to set.
     * @return This builder for chaining.
     */
    public Builder setCDNThumbAESKey(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00400000;
      cDNThumbAESKey_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string CDNThumbAESKey = 23;
     * @return This builder for chaining.
     */
    public Builder clearCDNThumbAESKey() {
      bitField0_ = (bitField0_ & ~0x00400000);
      cDNThumbAESKey_ = getDefaultInstance().getCDNThumbAESKey();
      onChanged();
      return this;
    }
    /**
     * optional string CDNThumbAESKey = 23;
     * @param value The bytes for cDNThumbAESKey to set.
     * @return This builder for chaining.
     */
    public Builder setCDNThumbAESKeyBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00400000;
      cDNThumbAESKey_ = value;
      onChanged();
      return this;
    }

    private int videoFrom_ ;
    /**
     * optional int32 VideoFrom = 24;
     * @return Whether the videoFrom field is set.
     */
    @java.lang.Override
    public boolean hasVideoFrom() {
      return ((bitField0_ & 0x00800000) != 0);
    }
    /**
     * optional int32 VideoFrom = 24;
     * @return The videoFrom.
     */
    @java.lang.Override
    public int getVideoFrom() {
      return videoFrom_;
    }
    /**
     * optional int32 VideoFrom = 24;
     * @param value The videoFrom to set.
     * @return This builder for chaining.
     */
    public Builder setVideoFrom(int value) {
      bitField0_ |= 0x00800000;
      videoFrom_ = value;
      onChanged();
      return this;
    }
    /**
     * optional int32 VideoFrom = 24;
     * @return This builder for chaining.
     */
    public Builder clearVideoFrom() {
      bitField0_ = (bitField0_ & ~0x00800000);
      videoFrom_ = 0;
      onChanged();
      return this;
    }

    private int reqTime_ ;
    /**
     * optional uint32 ReqTime = 25;
     * @return Whether the reqTime field is set.
     */
    @java.lang.Override
    public boolean hasReqTime() {
      return ((bitField0_ & 0x01000000) != 0);
    }
    /**
     * optional uint32 ReqTime = 25;
     * @return The reqTime.
     */
    @java.lang.Override
    public int getReqTime() {
      return reqTime_;
    }
    /**
     * optional uint32 ReqTime = 25;
     * @param value The reqTime to set.
     * @return This builder for chaining.
     */
    public Builder setReqTime(int value) {
      bitField0_ |= 0x01000000;
      reqTime_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 ReqTime = 25;
     * @return This builder for chaining.
     */
    public Builder clearReqTime() {
      bitField0_ = (bitField0_ & ~0x01000000);
      reqTime_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object videoMd5_ = "";
    /**
     * optional string VideoMd5 = 26;
     * @return Whether the videoMd5 field is set.
     */
    public boolean hasVideoMd5() {
      return ((bitField0_ & 0x02000000) != 0);
    }
    /**
     * optional string VideoMd5 = 26;
     * @return The videoMd5.
     */
    public java.lang.String getVideoMd5() {
      java.lang.Object ref = videoMd5_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          videoMd5_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string VideoMd5 = 26;
     * @return The bytes for videoMd5.
     */
    public com.google.protobuf.ByteString
        getVideoMd5Bytes() {
      java.lang.Object ref = videoMd5_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        videoMd5_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string VideoMd5 = 26;
     * @param value The videoMd5 to set.
     * @return This builder for chaining.
     */
    public Builder setVideoMd5(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x02000000;
      videoMd5_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string VideoMd5 = 26;
     * @return This builder for chaining.
     */
    public Builder clearVideoMd5() {
      bitField0_ = (bitField0_ & ~0x02000000);
      videoMd5_ = getDefaultInstance().getVideoMd5();
      onChanged();
      return this;
    }
    /**
     * optional string VideoMd5 = 26;
     * @param value The bytes for videoMd5 to set.
     * @return This builder for chaining.
     */
    public Builder setVideoMd5Bytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x02000000;
      videoMd5_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object streamVideoUrl_ = "";
    /**
     * optional string StreamVideoUrl = 27;
     * @return Whether the streamVideoUrl field is set.
     */
    public boolean hasStreamVideoUrl() {
      return ((bitField0_ & 0x04000000) != 0);
    }
    /**
     * optional string StreamVideoUrl = 27;
     * @return The streamVideoUrl.
     */
    public java.lang.String getStreamVideoUrl() {
      java.lang.Object ref = streamVideoUrl_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamVideoUrl_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string StreamVideoUrl = 27;
     * @return The bytes for streamVideoUrl.
     */
    public com.google.protobuf.ByteString
        getStreamVideoUrlBytes() {
      java.lang.Object ref = streamVideoUrl_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamVideoUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string StreamVideoUrl = 27;
     * @param value The streamVideoUrl to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoUrl(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x04000000;
      streamVideoUrl_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoUrl = 27;
     * @return This builder for chaining.
     */
    public Builder clearStreamVideoUrl() {
      bitField0_ = (bitField0_ & ~0x04000000);
      streamVideoUrl_ = getDefaultInstance().getStreamVideoUrl();
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoUrl = 27;
     * @param value The bytes for streamVideoUrl to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoUrlBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x04000000;
      streamVideoUrl_ = value;
      onChanged();
      return this;
    }

    private int streamVideoTotalTime_ ;
    /**
     * optional uint32 StreamVideoTotalTime = 28;
     * @return Whether the streamVideoTotalTime field is set.
     */
    @java.lang.Override
    public boolean hasStreamVideoTotalTime() {
      return ((bitField0_ & 0x08000000) != 0);
    }
    /**
     * optional uint32 StreamVideoTotalTime = 28;
     * @return The streamVideoTotalTime.
     */
    @java.lang.Override
    public int getStreamVideoTotalTime() {
      return streamVideoTotalTime_;
    }
    /**
     * optional uint32 StreamVideoTotalTime = 28;
     * @param value The streamVideoTotalTime to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoTotalTime(int value) {
      bitField0_ |= 0x08000000;
      streamVideoTotalTime_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 StreamVideoTotalTime = 28;
     * @return This builder for chaining.
     */
    public Builder clearStreamVideoTotalTime() {
      bitField0_ = (bitField0_ & ~0x08000000);
      streamVideoTotalTime_ = 0;
      onChanged();
      return this;
    }

    private java.lang.Object streamVideoTitle_ = "";
    /**
     * optional string StreamVideoTitle = 29;
     * @return Whether the streamVideoTitle field is set.
     */
    public boolean hasStreamVideoTitle() {
      return ((bitField0_ & 0x10000000) != 0);
    }
    /**
     * optional string StreamVideoTitle = 29;
     * @return The streamVideoTitle.
     */
    public java.lang.String getStreamVideoTitle() {
      java.lang.Object ref = streamVideoTitle_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamVideoTitle_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string StreamVideoTitle = 29;
     * @return The bytes for streamVideoTitle.
     */
    public com.google.protobuf.ByteString
        getStreamVideoTitleBytes() {
      java.lang.Object ref = streamVideoTitle_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamVideoTitle_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string StreamVideoTitle = 29;
     * @param value The streamVideoTitle to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoTitle(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x10000000;
      streamVideoTitle_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoTitle = 29;
     * @return This builder for chaining.
     */
    public Builder clearStreamVideoTitle() {
      bitField0_ = (bitField0_ & ~0x10000000);
      streamVideoTitle_ = getDefaultInstance().getStreamVideoTitle();
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoTitle = 29;
     * @param value The bytes for streamVideoTitle to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoTitleBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x10000000;
      streamVideoTitle_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object streamVideoWording_ = "";
    /**
     * optional string StreamVideoWording = 30;
     * @return Whether the streamVideoWording field is set.
     */
    public boolean hasStreamVideoWording() {
      return ((bitField0_ & 0x20000000) != 0);
    }
    /**
     * optional string StreamVideoWording = 30;
     * @return The streamVideoWording.
     */
    public java.lang.String getStreamVideoWording() {
      java.lang.Object ref = streamVideoWording_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamVideoWording_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string StreamVideoWording = 30;
     * @return The bytes for streamVideoWording.
     */
    public com.google.protobuf.ByteString
        getStreamVideoWordingBytes() {
      java.lang.Object ref = streamVideoWording_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamVideoWording_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string StreamVideoWording = 30;
     * @param value The streamVideoWording to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoWording(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x20000000;
      streamVideoWording_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoWording = 30;
     * @return This builder for chaining.
     */
    public Builder clearStreamVideoWording() {
      bitField0_ = (bitField0_ & ~0x20000000);
      streamVideoWording_ = getDefaultInstance().getStreamVideoWording();
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoWording = 30;
     * @param value The bytes for streamVideoWording to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoWordingBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x20000000;
      streamVideoWording_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object streamVideoWebUrl_ = "";
    /**
     * optional string StreamVideoWebUrl = 31;
     * @return Whether the streamVideoWebUrl field is set.
     */
    public boolean hasStreamVideoWebUrl() {
      return ((bitField0_ & 0x40000000) != 0);
    }
    /**
     * optional string StreamVideoWebUrl = 31;
     * @return The streamVideoWebUrl.
     */
    public java.lang.String getStreamVideoWebUrl() {
      java.lang.Object ref = streamVideoWebUrl_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamVideoWebUrl_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string StreamVideoWebUrl = 31;
     * @return The bytes for streamVideoWebUrl.
     */
    public com.google.protobuf.ByteString
        getStreamVideoWebUrlBytes() {
      java.lang.Object ref = streamVideoWebUrl_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamVideoWebUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string StreamVideoWebUrl = 31;
     * @param value The streamVideoWebUrl to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoWebUrl(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x40000000;
      streamVideoWebUrl_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoWebUrl = 31;
     * @return This builder for chaining.
     */
    public Builder clearStreamVideoWebUrl() {
      bitField0_ = (bitField0_ & ~0x40000000);
      streamVideoWebUrl_ = getDefaultInstance().getStreamVideoWebUrl();
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoWebUrl = 31;
     * @param value The bytes for streamVideoWebUrl to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoWebUrlBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x40000000;
      streamVideoWebUrl_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object streamVideoThumbUrl_ = "";
    /**
     * optional string StreamVideoThumbUrl = 32;
     * @return Whether the streamVideoThumbUrl field is set.
     */
    public boolean hasStreamVideoThumbUrl() {
      return ((bitField0_ & 0x80000000) != 0);
    }
    /**
     * optional string StreamVideoThumbUrl = 32;
     * @return The streamVideoThumbUrl.
     */
    public java.lang.String getStreamVideoThumbUrl() {
      java.lang.Object ref = streamVideoThumbUrl_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamVideoThumbUrl_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string StreamVideoThumbUrl = 32;
     * @return The bytes for streamVideoThumbUrl.
     */
    public com.google.protobuf.ByteString
        getStreamVideoThumbUrlBytes() {
      java.lang.Object ref = streamVideoThumbUrl_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamVideoThumbUrl_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string StreamVideoThumbUrl = 32;
     * @param value The streamVideoThumbUrl to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoThumbUrl(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x80000000;
      streamVideoThumbUrl_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoThumbUrl = 32;
     * @return This builder for chaining.
     */
    public Builder clearStreamVideoThumbUrl() {
      bitField0_ = (bitField0_ & ~0x80000000);
      streamVideoThumbUrl_ = getDefaultInstance().getStreamVideoThumbUrl();
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoThumbUrl = 32;
     * @param value The bytes for streamVideoThumbUrl to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoThumbUrlBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x80000000;
      streamVideoThumbUrl_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object streamVideoPublishId_ = "";
    /**
     * optional string StreamVideoPublishId = 33;
     * @return Whether the streamVideoPublishId field is set.
     */
    public boolean hasStreamVideoPublishId() {
      return ((bitField1_ & 0x00000001) != 0);
    }
    /**
     * optional string StreamVideoPublishId = 33;
     * @return The streamVideoPublishId.
     */
    public java.lang.String getStreamVideoPublishId() {
      java.lang.Object ref = streamVideoPublishId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamVideoPublishId_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string StreamVideoPublishId = 33;
     * @return The bytes for streamVideoPublishId.
     */
    public com.google.protobuf.ByteString
        getStreamVideoPublishIdBytes() {
      java.lang.Object ref = streamVideoPublishId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamVideoPublishId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string StreamVideoPublishId = 33;
     * @param value The streamVideoPublishId to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoPublishId(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000001;
      streamVideoPublishId_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoPublishId = 33;
     * @return This builder for chaining.
     */
    public Builder clearStreamVideoPublishId() {
      bitField1_ = (bitField1_ & ~0x00000001);
      streamVideoPublishId_ = getDefaultInstance().getStreamVideoPublishId();
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoPublishId = 33;
     * @param value The bytes for streamVideoPublishId to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoPublishIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000001;
      streamVideoPublishId_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object streamVideoAdUxInfo_ = "";
    /**
     * optional string StreamVideoAdUxInfo = 34;
     * @return Whether the streamVideoAdUxInfo field is set.
     */
    public boolean hasStreamVideoAdUxInfo() {
      return ((bitField1_ & 0x00000002) != 0);
    }
    /**
     * optional string StreamVideoAdUxInfo = 34;
     * @return The streamVideoAdUxInfo.
     */
    public java.lang.String getStreamVideoAdUxInfo() {
      java.lang.Object ref = streamVideoAdUxInfo_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          streamVideoAdUxInfo_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string StreamVideoAdUxInfo = 34;
     * @return The bytes for streamVideoAdUxInfo.
     */
    public com.google.protobuf.ByteString
        getStreamVideoAdUxInfoBytes() {
      java.lang.Object ref = streamVideoAdUxInfo_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        streamVideoAdUxInfo_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string StreamVideoAdUxInfo = 34;
     * @param value The streamVideoAdUxInfo to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoAdUxInfo(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000002;
      streamVideoAdUxInfo_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoAdUxInfo = 34;
     * @return This builder for chaining.
     */
    public Builder clearStreamVideoAdUxInfo() {
      bitField1_ = (bitField1_ & ~0x00000002);
      streamVideoAdUxInfo_ = getDefaultInstance().getStreamVideoAdUxInfo();
      onChanged();
      return this;
    }
    /**
     * optional string StreamVideoAdUxInfo = 34;
     * @param value The bytes for streamVideoAdUxInfo to set.
     * @return This builder for chaining.
     */
    public Builder setStreamVideoAdUxInfoBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000002;
      streamVideoAdUxInfo_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object statExtStr_ = "";
    /**
     * optional string StatExtStr = 35;
     * @return Whether the statExtStr field is set.
     */
    public boolean hasStatExtStr() {
      return ((bitField1_ & 0x00000004) != 0);
    }
    /**
     * optional string StatExtStr = 35;
     * @return The statExtStr.
     */
    public java.lang.String getStatExtStr() {
      java.lang.Object ref = statExtStr_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          statExtStr_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string StatExtStr = 35;
     * @return The bytes for statExtStr.
     */
    public com.google.protobuf.ByteString
        getStatExtStrBytes() {
      java.lang.Object ref = statExtStr_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        statExtStr_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string StatExtStr = 35;
     * @param value The statExtStr to set.
     * @return This builder for chaining.
     */
    public Builder setStatExtStr(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000004;
      statExtStr_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string StatExtStr = 35;
     * @return This builder for chaining.
     */
    public Builder clearStatExtStr() {
      bitField1_ = (bitField1_ & ~0x00000004);
      statExtStr_ = getDefaultInstance().getStatExtStr();
      onChanged();
      return this;
    }
    /**
     * optional string StatExtStr = 35;
     * @param value The bytes for statExtStr to set.
     * @return This builder for chaining.
     */
    public Builder setStatExtStrBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000004;
      statExtStr_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object hitMd5_ = "";
    /**
     * optional string HitMd5 = 36;
     * @return Whether the hitMd5 field is set.
     */
    public boolean hasHitMd5() {
      return ((bitField1_ & 0x00000008) != 0);
    }
    /**
     * optional string HitMd5 = 36;
     * @return The hitMd5.
     */
    public java.lang.String getHitMd5() {
      java.lang.Object ref = hitMd5_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          hitMd5_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string HitMd5 = 36;
     * @return The bytes for hitMd5.
     */
    public com.google.protobuf.ByteString
        getHitMd5Bytes() {
      java.lang.Object ref = hitMd5_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        hitMd5_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string HitMd5 = 36;
     * @param value The hitMd5 to set.
     * @return This builder for chaining.
     */
    public Builder setHitMd5(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000008;
      hitMd5_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string HitMd5 = 36;
     * @return This builder for chaining.
     */
    public Builder clearHitMd5() {
      bitField1_ = (bitField1_ & ~0x00000008);
      hitMd5_ = getDefaultInstance().getHitMd5();
      onChanged();
      return this;
    }
    /**
     * optional string HitMd5 = 36;
     * @param value The bytes for hitMd5 to set.
     * @return This builder for chaining.
     */
    public Builder setHitMd5Bytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000008;
      hitMd5_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object videoNewMd5_ = "";
    /**
     * optional string VideoNewMd5 = 37;
     * @return Whether the videoNewMd5 field is set.
     */
    public boolean hasVideoNewMd5() {
      return ((bitField1_ & 0x00000010) != 0);
    }
    /**
     * optional string VideoNewMd5 = 37;
     * @return The videoNewMd5.
     */
    public java.lang.String getVideoNewMd5() {
      java.lang.Object ref = videoNewMd5_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          videoNewMd5_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string VideoNewMd5 = 37;
     * @return The bytes for videoNewMd5.
     */
    public com.google.protobuf.ByteString
        getVideoNewMd5Bytes() {
      java.lang.Object ref = videoNewMd5_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        videoNewMd5_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string VideoNewMd5 = 37;
     * @param value The videoNewMd5 to set.
     * @return This builder for chaining.
     */
    public Builder setVideoNewMd5(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000010;
      videoNewMd5_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string VideoNewMd5 = 37;
     * @return This builder for chaining.
     */
    public Builder clearVideoNewMd5() {
      bitField1_ = (bitField1_ & ~0x00000010);
      videoNewMd5_ = getDefaultInstance().getVideoNewMd5();
      onChanged();
      return this;
    }
    /**
     * optional string VideoNewMd5 = 37;
     * @param value The bytes for videoNewMd5 to set.
     * @return This builder for chaining.
     */
    public Builder setVideoNewMd5Bytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000010;
      videoNewMd5_ = value;
      onChanged();
      return this;
    }

    private java.lang.Object crc32_ = "";
    /**
     * optional string Crc32 = 38;
     * @return Whether the crc32 field is set.
     */
    public boolean hasCrc32() {
      return ((bitField1_ & 0x00000020) != 0);
    }
    /**
     * optional string Crc32 = 38;
     * @return The crc32.
     */
    public java.lang.String getCrc32() {
      java.lang.Object ref = crc32_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          crc32_ = s;
        }
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * optional string Crc32 = 38;
     * @return The bytes for crc32.
     */
    public com.google.protobuf.ByteString
        getCrc32Bytes() {
      java.lang.Object ref = crc32_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        crc32_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * optional string Crc32 = 38;
     * @param value The crc32 to set.
     * @return This builder for chaining.
     */
    public Builder setCrc32(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000020;
      crc32_ = value;
      onChanged();
      return this;
    }
    /**
     * optional string Crc32 = 38;
     * @return This builder for chaining.
     */
    public Builder clearCrc32() {
      bitField1_ = (bitField1_ & ~0x00000020);
      crc32_ = getDefaultInstance().getCrc32();
      onChanged();
      return this;
    }
    /**
     * optional string Crc32 = 38;
     * @param value The bytes for crc32 to set.
     * @return This builder for chaining.
     */
    public Builder setCrc32Bytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  bitField1_ |= 0x00000020;
      crc32_ = value;
      onChanged();
      return this;
    }

    private int msgForwordType_ ;
    /**
     * optional uint32 MsgForwordType = 39;
     * @return Whether the msgForwordType field is set.
     */
    @java.lang.Override
    public boolean hasMsgForwordType() {
      return ((bitField1_ & 0x00000040) != 0);
    }
    /**
     * optional uint32 MsgForwordType = 39;
     * @return The msgForwordType.
     */
    @java.lang.Override
    public int getMsgForwordType() {
      return msgForwordType_;
    }
    /**
     * optional uint32 MsgForwordType = 39;
     * @param value The msgForwordType to set.
     * @return This builder for chaining.
     */
    public Builder setMsgForwordType(int value) {
      bitField1_ |= 0x00000040;
      msgForwordType_ = value;
      onChanged();
      return this;
    }
    /**
     * optional uint32 MsgForwordType = 39;
     * @return This builder for chaining.
     */
    public Builder clearMsgForwordType() {
      bitField1_ = (bitField1_ & ~0x00000040);
      msgForwordType_ = 0;
      onChanged();
      return this;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:wechat_proto.UploadVideoRequest)
  }

  // @@protoc_insertion_point(class_scope:wechat_proto.UploadVideoRequest)
  private static final wechat.protobuf.UploadVideoRequest DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new wechat.protobuf.UploadVideoRequest();
  }

  public static wechat.protobuf.UploadVideoRequest getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  @java.lang.Deprecated public static final com.google.protobuf.Parser
      PARSER = new com.google.protobuf.AbstractParser() {
    @java.lang.Override
    public UploadVideoRequest parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return new UploadVideoRequest(input, extensionRegistry);
    }
  };

  public static com.google.protobuf.Parser parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public wechat.protobuf.UploadVideoRequest getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}





© 2015 - 2025 Weber Informatics LLC | Privacy Policy