Compare commits

..

No commits in common. "4c1bcf8fd541f594a202d0dcfda1a8d7b4723177" and "051805a019430fe78804d5aa8ade85e1a71d04af" have entirely different histories.

19 changed files with 129 additions and 140 deletions

185
Cargo.lock generated
View File

@ -21,9 +21,9 @@ dependencies = [
[[package]] [[package]]
name = "anstream" name = "anstream"
version = "0.6.18" version = "0.6.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8acc5369981196006228e28809f761875c0327210a891e941f4c683b3a99529b" checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"anstyle-parse", "anstyle-parse",
@ -36,43 +36,43 @@ dependencies = [
[[package]] [[package]]
name = "anstyle" name = "anstyle"
version = "1.0.10" version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55cc3b69f167a1ef2e161439aa98aed94e6028e5f9a59be9a6ffb47aef1651f9" checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"
[[package]] [[package]]
name = "anstyle-parse" name = "anstyle-parse"
version = "0.2.6" version = "0.2.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3b2d16507662817a6a20a9ea92df6652ee4f94f914589377d69f3b21bc5798a9" checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb"
dependencies = [ dependencies = [
"utf8parse", "utf8parse",
] ]
[[package]] [[package]]
name = "anstyle-query" name = "anstyle-query"
version = "1.1.2" version = "1.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "79947af37f4177cfead1110013d678905c37501914fba0efea834c3fe9a8d60c" checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a"
dependencies = [ dependencies = [
"windows-sys", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
name = "anstyle-wincon" name = "anstyle-wincon"
version = "3.0.6" version = "3.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2109dbce0e72be3ec00bed26e6a7479ca384ad226efdd66db8fa2e3a38c83125" checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8"
dependencies = [ dependencies = [
"anstyle", "anstyle",
"windows-sys", "windows-sys 0.52.0",
] ]
[[package]] [[package]]
name = "anyhow" name = "anyhow"
version = "1.0.94" version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1fd03a028ef38ba2276dce7e33fcd6369c158a1bca17946c4b1b701891c1ff7" checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
[[package]] [[package]]
name = "base64" name = "base64"
@ -121,9 +121,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.2.4" version = "1.1.15"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9157bbaa6b165880c27a4293a474c91cdcf265cc68cc829bf10be0964a391caf" checksum = "57b6a275aa2903740dc87da01c62040406b8812552e97129a63ea8850a17c6e6"
dependencies = [ dependencies = [
"shlex", "shlex",
] ]
@ -146,9 +146,9 @@ dependencies = [
[[package]] [[package]]
name = "clap" name = "clap"
version = "4.5.23" version = "4.5.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3135e7ec2ef7b10c6ed8950f0f792ed96ee093fa088608f1c76e569722700c84" checksum = "3e5a21b8495e732f1b3c364c9949b201ca7bae518c502c80256c96ad79eaf6ac"
dependencies = [ dependencies = [
"clap_builder", "clap_builder",
"clap_derive", "clap_derive",
@ -156,9 +156,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_builder" name = "clap_builder"
version = "4.5.23" version = "4.5.17"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30582fc632330df2bd26877bde0c1f4470d57c582bbc070376afcd04d8cb4838" checksum = "8cf2dd12af7a047ad9d6da2b6b249759a22a7abc0f474c1dae1777afa4b21a73"
dependencies = [ dependencies = [
"anstream", "anstream",
"anstyle", "anstyle",
@ -168,9 +168,9 @@ dependencies = [
[[package]] [[package]]
name = "clap_derive" name = "clap_derive"
version = "4.5.18" version = "4.5.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ac6a0c7b1a9e9a5186361f67dfa1b88213572f427fb9ab038efb2bd8c582dab" checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0"
dependencies = [ dependencies = [
"heck", "heck",
"proc-macro2", "proc-macro2",
@ -180,15 +180,15 @@ dependencies = [
[[package]] [[package]]
name = "clap_lex" name = "clap_lex"
version = "0.7.4" version = "0.7.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f46ad14479a25103f283c0f10005961cf086d8dc42205bb44c46ac563475dca6" checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97"
[[package]] [[package]]
name = "colorchoice" name = "colorchoice"
version = "1.0.3" version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b63caa9aa9397e2d9480a9b13673856c78d8ac123288526c37d7839f2a86990" checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0"
[[package]] [[package]]
name = "console_error_panic_hook" name = "console_error_panic_hook"
@ -202,9 +202,9 @@ dependencies = [
[[package]] [[package]]
name = "cpufeatures" name = "cpufeatures"
version = "0.2.16" version = "0.2.14"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0"
dependencies = [ dependencies = [
"libc", "libc",
] ]
@ -337,11 +337,10 @@ dependencies = [
[[package]] [[package]]
name = "js-sys" name = "js-sys"
version = "0.3.76" version = "0.3.70"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6717b6b5b077764fb5966237269cb3c64edddde4b14ce42647430a78ced9e7b7" checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a"
dependencies = [ dependencies = [
"once_cell",
"wasm-bindgen", "wasm-bindgen",
] ]
@ -353,9 +352,9 @@ checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe"
[[package]] [[package]]
name = "libc" name = "libc"
version = "0.2.168" version = "0.2.158"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5aaeb2981e0606ca11d79718f8bb01164f1d6ed75080182d3abf017e6d244b6d" checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
[[package]] [[package]]
name = "log" name = "log"
@ -375,9 +374,9 @@ dependencies = [
[[package]] [[package]]
name = "minicov" name = "minicov"
version = "0.3.7" version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f27fe9f1cc3c22e1687f9446c2083c4c5fc7f0bcf1c7a86bdbded14985895b4b" checksum = "5c71e683cd655513b99affab7d317deb690528255a0d5f717f1024093c12b169"
dependencies = [ dependencies = [
"cc", "cc",
"walkdir", "walkdir",
@ -394,9 +393,9 @@ dependencies = [
[[package]] [[package]]
name = "once_cell" name = "once_cell"
version = "1.20.2" version = "1.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
[[package]] [[package]]
name = "pbkdf2" name = "pbkdf2"
@ -410,9 +409,9 @@ dependencies = [
[[package]] [[package]]
name = "pretty_assertions" name = "pretty_assertions"
version = "1.4.1" version = "1.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3ae130e2f271fbc2ac3a40fb1d07180839cdbbe443c7a27e1e3c13c5cac0116d" checksum = "af7cee1a6c8a5b9208b3cb1061f10c0cb689087b3d8ce85fb9d2dd7a29b6ba66"
dependencies = [ dependencies = [
"diff", "diff",
"yansi", "yansi",
@ -420,9 +419,9 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.92" version = "1.0.86"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
@ -482,15 +481,15 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
[[package]] [[package]]
name = "subtle" name = "subtle"
version = "2.6.1" version = "2.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
[[package]] [[package]]
name = "syn" name = "syn"
version = "2.0.90" version = "2.0.77"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "919d3b74a5dd0ccd15aeb8f93e7006bd9e14c295087c9896a110f490752bcf31" checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -499,9 +498,9 @@ dependencies = [
[[package]] [[package]]
name = "tc_tea" name = "tc_tea"
version = "0.2.1" version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8bff10825e978a630d57257531cf0f37bac065f6ccc630c96df6956a5c73237f" checksum = "0e0fb162058ad530c29c7e283ae3ca72d5188d8e7275c079f7622b3e053a547b"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"thiserror", "thiserror",
@ -509,18 +508,18 @@ dependencies = [
[[package]] [[package]]
name = "thiserror" name = "thiserror"
version = "2.0.7" version = "1.0.64"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93605438cbd668185516ab499d589afb7ee1859ea3d5fc8f6b0755e1c7443767" checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
dependencies = [ dependencies = [
"thiserror-impl", "thiserror-impl",
] ]
[[package]] [[package]]
name = "thiserror-impl" name = "thiserror-impl"
version = "2.0.7" version = "1.0.64"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e1d8749b4531af2117677a5fcd12b1348a3fe2b81e36e61ffeac5c4aa3273e36" checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -535,7 +534,7 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"
[[package]] [[package]]
name = "um_audio" name = "um_audio"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"thiserror", "thiserror",
@ -543,7 +542,7 @@ dependencies = [
[[package]] [[package]]
name = "um_cli" name = "um_cli"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",
@ -562,7 +561,7 @@ dependencies = [
[[package]] [[package]]
name = "um_wasm" name = "um_wasm"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"console_error_panic_hook", "console_error_panic_hook",
@ -584,7 +583,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_joox" name = "umc_joox"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"aes", "aes",
"byteorder", "byteorder",
@ -599,7 +598,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_kgm" name = "umc_kgm"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"itertools", "itertools",
@ -609,7 +608,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_kuwo" name = "umc_kuwo"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"byteorder", "byteorder",
@ -621,7 +620,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_mg3d" name = "umc_mg3d"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"hex", "hex",
"thiserror", "thiserror",
@ -630,7 +629,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_ncm" name = "umc_ncm"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"aes", "aes",
"byteorder", "byteorder",
@ -645,7 +644,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_qmc" name = "umc_qmc"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"byteorder", "byteorder",
@ -658,7 +657,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_qrc" name = "umc_qrc"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"byteorder", "byteorder",
"hex", "hex",
@ -670,7 +669,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_qtfm" name = "umc_qtfm"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"aes", "aes",
"byteorder", "byteorder",
@ -682,7 +681,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_utils" name = "umc_utils"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"base64", "base64",
"itertools", "itertools",
@ -691,7 +690,7 @@ dependencies = [
[[package]] [[package]]
name = "umc_xiami" name = "umc_xiami"
version = "0.1.2" version = "0.1.0"
dependencies = [ dependencies = [
"thiserror", "thiserror",
] ]
@ -712,9 +711,9 @@ dependencies = [
[[package]] [[package]]
name = "unicode-ident" name = "unicode-ident"
version = "1.0.14" version = "1.0.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
[[package]] [[package]]
name = "utf8parse" name = "utf8parse"
@ -746,9 +745,9 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]] [[package]]
name = "wasm-bindgen" name = "wasm-bindgen"
version = "0.2.99" version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a474f6281d1d70c17ae7aa6a613c87fce69a127e2624002df63dcb39d6cf6396" checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"once_cell", "once_cell",
@ -757,12 +756,13 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-backend" name = "wasm-bindgen-backend"
version = "0.2.99" version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f89bb38646b4f81674e8f5c3fb81b562be1fd936d84320f3264486418519c79" checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b"
dependencies = [ dependencies = [
"bumpalo", "bumpalo",
"log", "log",
"once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn",
@ -771,22 +771,21 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-futures" name = "wasm-bindgen-futures"
version = "0.4.49" version = "0.4.43"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "38176d9b44ea84e9184eff0bc34cc167ed044f816accfe5922e54d84cf48eca2" checksum = "61e9300f63a621e96ed275155c108eb6f843b6a26d053f122ab69724559dc8ed"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"js-sys", "js-sys",
"once_cell",
"wasm-bindgen", "wasm-bindgen",
"web-sys", "web-sys",
] ]
[[package]] [[package]]
name = "wasm-bindgen-macro" name = "wasm-bindgen-macro"
version = "0.2.99" version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2cc6181fd9a7492eef6fef1f33961e3695e4579b9872a6f7c83aee556666d4fe" checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf"
dependencies = [ dependencies = [
"quote", "quote",
"wasm-bindgen-macro-support", "wasm-bindgen-macro-support",
@ -794,9 +793,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-macro-support" name = "wasm-bindgen-macro-support"
version = "0.2.99" version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30d7a95b763d3c45903ed6c81f156801839e5ee968bb07e534c44df0fcd330c2" checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -807,16 +806,17 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-shared" name = "wasm-bindgen-shared"
version = "0.2.99" version = "0.2.93"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "943aab3fdaaa029a6e0271b35ea10b72b943135afe9bffca82384098ad0e06a6" checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484"
[[package]] [[package]]
name = "wasm-bindgen-test" name = "wasm-bindgen-test"
version = "0.3.49" version = "0.3.43"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c61d44563646eb934577f2772656c7ad5e9c90fac78aa8013d776fcdaf24625d" checksum = "68497a05fb21143a08a7d24fc81763384a3072ee43c44e86aad1744d6adef9d9"
dependencies = [ dependencies = [
"console_error_panic_hook",
"js-sys", "js-sys",
"minicov", "minicov",
"scoped-tls", "scoped-tls",
@ -827,9 +827,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-test-macro" name = "wasm-bindgen-test-macro"
version = "0.3.49" version = "0.3.43"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "54171416ce73aa0b9c377b51cc3cb542becee1cd678204812e8392e5b0e4a031" checksum = "4b8220be1fa9e4c889b30fd207d4906657e7e90b12e0e6b0c8b8d8709f5de021"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -838,9 +838,9 @@ dependencies = [
[[package]] [[package]]
name = "web-sys" name = "web-sys"
version = "0.3.76" version = "0.3.70"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04dd7223427d52553d3702c004d3b2fe07c148165faa56313cb00211e31c12bc" checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0"
dependencies = [ dependencies = [
"js-sys", "js-sys",
"wasm-bindgen", "wasm-bindgen",
@ -852,7 +852,16 @@ version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb"
dependencies = [ dependencies = [
"windows-sys", "windows-sys 0.59.0",
]
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows-targets",
] ]
[[package]] [[package]]
@ -930,6 +939,6 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]] [[package]]
name = "yansi" name = "yansi"
version = "1.0.1" version = "0.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049" checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec"

View File

@ -1,8 +1,8 @@
[package] [package]
name = "um_audio" name = "um_audio"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
byteorder = "1.5.0" byteorder = "1.5.0"
thiserror = "2.0.7" thiserror = "1.0.64"

View File

@ -140,11 +140,4 @@ mod tests {
let result = detect_audio_type(mp3_data).expect("failed to parse mp3"); let result = detect_audio_type(mp3_data).expect("failed to parse mp3");
assert_eq!(result, AudioType::MP3); assert_eq!(result, AudioType::MP3);
} }
#[test]
fn test_mp3_multiple_id3() {
let mp3_data = include_bytes!("__fixtures__/mp3_with_id3v2_x3.bin");
let result = detect_audio_type(mp3_data).expect("failed to parse mp3");
assert_eq!(result, AudioType::MP3);
}
} }

View File

@ -26,12 +26,10 @@ fn parse_id3_sync_safe_int(buffer: &[u8]) -> i32 {
const MIN_ID3_HEADER_LEN: usize = 10; const MIN_ID3_HEADER_LEN: usize = 10;
fn get_id3_header_size(buffer: &[u8], offset: usize) -> Result<usize, AudioError> { fn get_id3_header_size(buffer: &[u8], offset: usize) -> Result<usize, AudioError> {
if buffer.len() < offset + MIN_ID3_HEADER_LEN { if buffer.len() < MIN_ID3_HEADER_LEN {
Err(AudioError::NeedMoreHeader(offset + MIN_ID3_HEADER_LEN))?; Err(AudioError::NeedMoreHeader(offset + MIN_ID3_HEADER_LEN))?;
} }
let buffer = &buffer[offset..];
// TAG: ID3v1, 128 bytes // TAG: ID3v1, 128 bytes
if buffer.starts_with(b"TAG") { if buffer.starts_with(b"TAG") {
return Ok(128); return Ok(128);
@ -68,20 +66,10 @@ fn get_ape_v2_size(buffer: &[u8], offset: usize) -> Result<usize, AudioError> {
} }
pub fn get_header_metadata_size(buffer: &[u8], offset: usize) -> Result<usize, AudioError> { pub fn get_header_metadata_size(buffer: &[u8], offset: usize) -> Result<usize, AudioError> {
let mut offset = offset; let len = get_id3_header_size(buffer, offset)?;
if len != 0 {
// Workaround: Some files have multiple ID3v2 tags, max 5 times. Ok(len)
for _ in 0..5 { } else {
let len = match get_id3_header_size(buffer, offset)? { get_ape_v2_size(buffer, offset)
0 => get_ape_v2_size(buffer, offset)?,
len => len,
};
if len == 0 {
break;
} }
offset += len;
}
Ok(offset)
} }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "um_cli" name = "um_cli"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "umc_joox" name = "umc_joox"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
@ -10,6 +10,6 @@ cipher = "0.4.4"
hmac = "0.12.1" hmac = "0.12.1"
pbkdf2 = "0.12.2" pbkdf2 = "0.12.2"
sha1 = "0.10.5" sha1 = "0.10.5"
thiserror = "2.0.7" thiserror = "1.0.64"
umc_qmc = { path = "../qmc" } umc_qmc = { path = "../qmc" }
umc_utils = { path = "../utils" } umc_utils = { path = "../utils" }

View File

@ -1,10 +1,10 @@
[package] [package]
name = "umc_kgm" name = "umc_kgm"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
byteorder = "1.5.0" byteorder = "1.5.0"
itertools = "0.13.0" itertools = "0.13.0"
thiserror = "2.0.7" thiserror = "1.0.64"
umc_utils = { path = "../utils" } umc_utils = { path = "../utils" }

View File

@ -1,12 +1,12 @@
[package] [package]
name = "umc_kuwo" name = "umc_kuwo"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
anyhow = "1.0.86" anyhow = "1.0.86"
byteorder = "1.5.0" byteorder = "1.5.0"
itertools = "0.13.0" itertools = "0.13.0"
thiserror = "2.0.7" thiserror = "1.0.64"
umc_qmc = { path = "../qmc" } umc_qmc = { path = "../qmc" }
umc_utils = { path = "../utils" } umc_utils = { path = "../utils" }

View File

@ -1,9 +1,9 @@
[package] [package]
name = "umc_mg3d" name = "umc_mg3d"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
hex = "0.4.3" hex = "0.4.3"
thiserror = "2.0.7" thiserror = "1.0.64"
umc_utils = { path = "../utils" } umc_utils = { path = "../utils" }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "umc_ncm" name = "umc_ncm"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
@ -9,7 +9,7 @@ byteorder = "1.5.0"
cipher = { version = "0.4.4", features = ["block-padding"] } cipher = { version = "0.4.4", features = ["block-padding"] }
crc = "3.2.1" crc = "3.2.1"
itertools = "0.13.0" itertools = "0.13.0"
thiserror = "2.0.7" thiserror = "1.0.64"
umc_utils = { path = "../utils" } umc_utils = { path = "../utils" }
[dev-dependencies] [dev-dependencies]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "umc_qmc" name = "umc_qmc"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
@ -8,6 +8,6 @@ anyhow = "1.0.86"
byteorder = "1.5.0" byteorder = "1.5.0"
itertools = "0.13.0" itertools = "0.13.0"
lazy_static = "1.5.0" lazy_static = "1.5.0"
tc_tea = { version = "0.2.1", default-features = false } tc_tea = { version = "0.2.0", default-features = false }
thiserror = "2.0.7" thiserror = "1.0.64"
umc_utils = { path = "../utils" } umc_utils = { path = "../utils" }

View File

@ -1,12 +1,12 @@
[package] [package]
name = "umc_qrc" name = "umc_qrc"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
byteorder = "1.5.0" byteorder = "1.5.0"
itertools = "0.13.0" itertools = "0.13.0"
miniz_oxide = "0.8.0" miniz_oxide = "0.8.0"
thiserror = "2.0.7" thiserror = "1.0.64"
umc_qmc = { path = "../qmc" } umc_qmc = { path = "../qmc" }
hex = "0.4.3" hex = "0.4.3"

View File

@ -1,6 +1,6 @@
[package] [package]
name = "umc_qtfm" name = "umc_qtfm"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
@ -8,5 +8,5 @@ aes = "0.8.4"
byteorder = "1.5.0" byteorder = "1.5.0"
cbc = "0.1.2" cbc = "0.1.2"
ctr = "0.9.2" ctr = "0.9.2"
thiserror = "2.0.7" thiserror = "1.0.64"
umc_utils = { path = "../utils" } umc_utils = { path = "../utils" }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "umc_utils" name = "umc_utils"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]

View File

@ -1,7 +1,7 @@
[package] [package]
name = "umc_xiami" name = "umc_xiami"
version = "0.1.2" version = "0.1.0"
edition = "2021" edition = "2021"
[dependencies] [dependencies]
thiserror = "2.0.7" thiserror = "1.0.64"

View File

@ -10,5 +10,5 @@ cbc = "0.1.2"
cipher = "0.4.4" cipher = "0.4.4"
hex = "0.4.3" hex = "0.4.3"
lazy_static = "1.5.0" lazy_static = "1.5.0"
thiserror = "2.0.7" thiserror = "1.0.64"
umc_utils = { path = "../utils" } umc_utils = { path = "../utils" }

View File

@ -1,6 +1,6 @@
[package] [package]
name = "um_wasm" name = "um_wasm"
version = "0.1.2" version = "0.1.0"
authors = ["鲁树人 <lu.shuren@um-react.app>"] authors = ["鲁树人 <lu.shuren@um-react.app>"]
edition = "2018" edition = "2018"
description = "um_crypo in WebAssembly" description = "um_crypo in WebAssembly"

View File

@ -1,7 +1,6 @@
{ {
"packageManager": "pnpm@9.12.1+sha512.e5a7e52a4183a02d5931057f7a0dbff9d5e9ce3161e33fa68ae392125b79282a8a8a470a51dfc8a0ed86221442eb2fb57019b0990ed24fab519bf0e1bc5ccfc4",
"name": "@unlock-music/crypto", "name": "@unlock-music/crypto",
"version": "0.1.2", "version": "0.1.1",
"description": "Project Unlock Music: 加解密支持库", "description": "Project Unlock Music: 加解密支持库",
"scripts": { "scripts": {
"build": "node build.js", "build": "node build.js",