diff --git a/example/test_ecmg_messages.h b/example/test_ecmg_messages.h index 6737fe9..9adb9ba 100644 --- a/example/test_ecmg_messages.h +++ b/example/test_ecmg_messages.h @@ -27,44 +27,22 @@ constexpr char kTestEcmgChannelSetup[] = { }; constexpr char kTestEcmgChannelSetupWithPrivateParameters[] = { - '\x03', // protocol_version - '\x00', '\x01', // message_type - Channel_setup - '\x00', '\x8c', // message_length - '\x00', '\x0e', // parameter_type - ECM_channel_id - '\x00', '\x02', // parameter_length - '\x00', '\x01', // parameter_value - '\x00', '\x01', // parameter_type- SUPER_CAS_ID - '\x00', '\x04', // parameter_length - '\x4a', '\xd4', '\x00', '\x00', // parameter_value - '\x80', '\x00', // parameter_type - AGE_RESTRICTION - '\x00', '\x01', // parameter_length - '\x00', // parameter_value - '\x80', '\x01', // parameter_type - CRYPTO_MODE - '\x00', '\x07', // parameter_length - 'A', 'e', 's', 'S', 'c', 't', 'e', // parameter_value - '\x80', '\x02', // parameter_type - TRACK_TYPES - '\x00', '\x02', // parameter_length - 'S', 'D', // parameter_value - '\x80', '\x05', // parameter_type - ENTITLEMENT_ID_KEY_COMBINATION - '\x00', '\x30', // parameter_length - // parameter_value - ENTITLEMENT_ID (16 bytes) - '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // - '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // - // parameter_value (continued) - ENTITLEMENT_KEY (32 bytes) - '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // - '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // - '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // - '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // - '\x80', '\x05', // parameter_type - ENTITLEMENT_ID_KEY_COMBINATION - '\x00', '\x30', // parameter_length - // parameter_value - ENTITLEMENT_ID (16 bytes) - '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // - '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // - // parameter_value (continued) - ENTITLEMENT_KEY (32 bytes) - '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // - '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // - '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // - '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68'}; + '\x03', // protocol_version + '\x00', '\x01', // message_type - Channel_setup + '\x00', '\x1e', // message_length + '\x00', '\x0e', // parameter_type - ECM_channel_id + '\x00', '\x02', // parameter_length + '\x00', '\x01', // parameter_value + '\x00', '\x01', // parameter_type- SUPER_CAS_ID + '\x00', '\x04', // parameter_length + '\x4a', '\xd4', '\x00', '\x00', // parameter_value + '\x80', '\x00', // parameter_type - AGE_RESTRICTION + '\x00', '\x01', // parameter_length + '\x00', // parameter_value + '\x80', '\x01', // parameter_type - CRYPTO_MODE + '\x00', '\x07', // parameter_length + 'A', 'e', 's', 'S', 'c', 't', 'e', // parameter_value +}; constexpr char kTestEcmgChannelTest[] = { '\x03', // protocol_version @@ -126,7 +104,7 @@ constexpr char kTestEcmgChannelStatus[] = { constexpr char kTestEcmgStreamSetupWithPrivateParameters[] = { '\x03', // protocol_version '\x01', '\x01', // message_type - Stream_setup - '\x00', '\x46', // message_length + '\x00', '\xae', // message_length '\x00', '\x0e', // parameter_type - ECM_channel_id '\x00', '\x02', // parameter_length '\x00', '\x01', // parameter_value @@ -139,17 +117,37 @@ constexpr char kTestEcmgStreamSetupWithPrivateParameters[] = { '\x00', '\x10', // parameter_type - nominal_CP_duration '\x00', '\x02', // parameter_length '\x00', '\x64', // parameter_value - '\x80', '\x03', // parameter_type - STREAM_TRACK_TYPE + '\x80', '\x02', // parameter_type - STREAM_TRACK_TYPE '\x00', '\x02', // parameter_length - 'S', 'D', // parameter_value - '\x80', '\x04', // parameter_type - CONTENT_IV + 'S', 'D', // parameter_value + '\x80', '\x03', // parameter_type - CONTENT_IV '\x00', '\x10', // parameter_length - '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', - '\x08', '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', - '\x80', '\x04', // parameter_type - CONTENT_IV + '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', // + '\x08', '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', // + '\x80', '\x03', // parameter_type - CONTENT_IV '\x00', '\x10', // parameter_length - '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', - '\x18', '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f'}; + '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', // + '\x18', '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', // + '\x80', '\x04', // parameter_type - ENTITLEMENT_ID_KEY_COMBINATION + '\x00', '\x30', // parameter_length + // parameter_value - ENTITLEMENT_ID (16 bytes) + '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // + '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // + // parameter_value (continued) - ENTITLEMENT_KEY (32 bytes) + '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // + '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // + '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // + '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // + '\x80', '\x04', // parameter_type - ENTITLEMENT_ID_KEY_COMBINATION + '\x00', '\x30', // parameter_length + // parameter_value - ENTITLEMENT_ID (16 bytes) + '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // + '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // + // parameter_value (continued) - ENTITLEMENT_KEY (32 bytes) + '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // + '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // + '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // + '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68'}; constexpr char kTestEcmgStreamSetup[] = { '\x03', // protocol_version @@ -247,7 +245,7 @@ constexpr char kTestEcmgCwProvision[] = { constexpr char kTestEcmgCwProvisionWithAccessCriteria[] = { '\x03', // protocol_version '\x02', '\x01', // message_type - CW_provision - '\x00', '\xf4', // message_length + '\x00', '\xee', // message_length '\x00', '\x0e', // parameter_type - ECM_channel_id '\x00', '\x02', // parameter_length '\x00', '\x01', // parameter_value @@ -271,28 +269,25 @@ constexpr char kTestEcmgCwProvisionWithAccessCriteria[] = { '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', // '\x18', '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', // '\x00', '\x0d', // parameter_type - access_criteria - '\x00', '\xac', // parameter_length + '\x00', '\xa6', // parameter_length '\x80', '\x00', // access_criteria parameter_type - AGE_RESTRICTION '\x00', '\x01', // parameter_length '\x00', // parameter_value '\x80', '\x01', // access_criteria parameter_type - CRYPTO_MODE '\x00', '\x07', // parameter_length 'A', 'e', 's', 'S', 'c', 't', 'e', // parameter_value - '\x80', '\x02', // access_criteria parameter_type - TRACK_TYPES + '\x80', '\x02', // access_criteria parameter_type - STREAM_TRACK_TYPE '\x00', '\x02', // parameter_length 'S', 'D', // parameter_value - '\x80', '\x03', // access_criteria parameter_type - STREAM_TRACK_TYPE - '\x00', '\x02', // parameter_length - 'S', 'D', // parameter_value - '\x80', '\x04', // access_criteria parameter_type - CONTENT_IV + '\x80', '\x03', // access_criteria parameter_type - CONTENT_IV '\x00', '\x10', // parameter_length '\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', // '\x08', '\x09', '\x0a', '\x0b', '\x0c', '\x0d', '\x0e', '\x0f', // - '\x80', '\x04', // access_criteria parameter_type - CONTENT_IV + '\x80', '\x03', // access_criteria parameter_type - CONTENT_IV '\x00', '\x10', // parameter_length '\x10', '\x11', '\x12', '\x13', '\x14', '\x15', '\x16', '\x17', // '\x18', '\x19', '\x1a', '\x1b', '\x1c', '\x1d', '\x1e', '\x1f', // - '\x80', '\x05', // parameter_type - ENTITLEMENT_ID_KEY_COMBINATION + '\x80', '\x04', // parameter_type - ENTITLEMENT_ID_KEY_COMBINATION '\x00', '\x30', // parameter_length // parameter_value - ENTITLEMENT_ID (16 bytes) '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // @@ -302,7 +297,7 @@ constexpr char kTestEcmgCwProvisionWithAccessCriteria[] = { '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // '\x30', '\x31', '\x32', '\x33', '\x34', '\x35', '\x36', '\x37', // - '\x80', '\x05', // parameter_type - ENTITLEMENT_ID_KEY_COMBINATION + '\x80', '\x04', // parameter_type - ENTITLEMENT_ID_KEY_COMBINATION '\x00', '\x30', // parameter_length // parameter_value - ENTITLEMENT_ID (16 bytes) '\x61', '\x62', '\x63', '\x64', '\x65', '\x66', '\x67', '\x68', // diff --git a/media_cas_packager_sdk/public/wv_ecmg b/media_cas_packager_sdk/public/wv_ecmg index 9d5f87a..e6dfd1f 100644 Binary files a/media_cas_packager_sdk/public/wv_ecmg and b/media_cas_packager_sdk/public/wv_ecmg differ