From 71366bba6d7c98ae81b92d987468afd4cfd23508 Mon Sep 17 00:00:00 2001 From: taorye Date: Mon, 16 Dec 2024 18:58:08 +0800 Subject: [PATCH 1/2] chore: backup source code for the future --- .../overlay/etc/init.d/uvc-gadget-server.tar.xz | Bin 0 -> 11160 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 buildroot/board/cvitek/SG200X/overlay/etc/init.d/uvc-gadget-server.tar.xz diff --git a/buildroot/board/cvitek/SG200X/overlay/etc/init.d/uvc-gadget-server.tar.xz b/buildroot/board/cvitek/SG200X/overlay/etc/init.d/uvc-gadget-server.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..45bed6ca21fa46940fde5494f68e0f04e735e7f0 GIT binary patch literal 11160 zcmV;JD`(XGH+ooF000E$*0e?hz}HrQ%mX0-8~^|S0001&;4uy0<^L;BT>v_rh=uZm zB4B(}+R7OIATImBh77*pM|qS==@9LoaRQCIkR+J-uYIbrY3F*(L0wOJ-__KPRzQZx zNPFH&Y>Aw*MD>Yo{XjFGV0#vUKVxVMWc~z(V@`bopkqNHs})_ROr6f;aU5LWT+lGi zMPs3aGR=1V8U%7U_BAp{$D-i<((IIFY6nYBxb;mr>@JpS6&tPOtxr*;Z90};9bAB3 zb3(`-Lb4ZuNfv~w-=%?=n2U;tI?5u@(BL<*k4*Q7EA(aWKMOzkwp==kU_QB;G(Yj98bbBcb)18|;;s0vdf2@&eT|f}325 z9U__|H6U2oI>t^qz2a#ihaRu@5_Q<*QifvJALAI!tdzW; zdZ==$X6Lj5YA=juJk7K`u!!ORPP4O=HKpW~v4IA!=j}I-mLhE0A-YFRLa)4CJN!PA z5GN(c|L-cu*3FDB{Z2xjKjZRH3HWD(0%NcqB0BfPkqo;Ehi1}=c~H@;wWuHjlCD{L z0}oO-4)|5spyaKmS%VD{-@RqTW)I$YUA*>9nbKb_Cn3zj25W|yuzQ@*|4NRWF^A`u zN~E2Gd0wftl|z@zP@fS{(H^y@)#tE1VHa)}KXW+H3=~yzL<-Eq%`lkUuMG;r(%Bi4 zhA8bQ@H$-BNBdB|fnDZ;LsOZl7EDf38psVhVwV|P#y;qi*J>~gOTT*GLT9MFdVJM1 zkeQU%ds|2MCqt}!23hm?jB3>sDfH2+9MHzUIV|qtLF$l)1^#Zd7BiH^aEmaEopk7G6v_HuDtwqh;Q( z|0^CYOV=^dslr+OJNgWzLa7DC_bwuKIc%P@-NAw^{X40a*d{(Xbph_N>V2xR%QKN6 zLwF-)rR8IGtXpD#C@6X@fpKKUFx=t08Dmo{6Dpww6;&*o;lZPUH@ET+{>1Mn3(Ayya61jz)gl*;LEEo=aS4(>i#siLGP& z0oyoY+#K>tldr4e{}AdWaKR%0Tu5XSaJlq@(ZgKU_y?{erUCG2$8UE+{F26|tADV( zlrkpX?%zrLZZFf*8}n%4pWwAyR5d%C&ttIVVY2UF!&SyNLQrZg3jIA9j=(;a#J9P$ zM5=RTUE@SJYKiGM2}_QL7wKE}tH6fLf&5b=oZ#?mvu&+@`|&Uqr?KW)?ecn$a()@cnA%7lF#>);+_mJ z1Baq-|A{?SzMvW!OzJkopi+j*xP_GQ7SxKwIvvggK|N*pzS^Vn$g13Tqns>Qm+EOd zBE`%X_xRye7o1JA77-i}rKJ1WvAlF-dHl#bU(U@ql9YLAe;`tK~sT`Deur;EzZ z>w7TpvceG|hXYSmS~7^Sb6(?@)ocd_rto$fC(gwJy1Di95KE_k&4bi&t&_)kV)`+x zxD{t&fNGZHJq7!{plq!hvYdR10go;>jvf39=0#ZcUAAgM}!sAGNqDGVFn!>j*-dCE+OZ1tFOu;VCSz z0!+>hOJEE_gc?m5V9C}=EYGf@-PSbgjC8NC4${l1xa6|w&Rjb&(u3()BRXNsVE=t* zMgKfNi<;oyxo_u{S(CgOP`IlqL$$5hv=SJusX>^JUZ33qx~I;g6wSae*xOVR$Zt9~ z)PGR}6mf~$T%wgqnu1e)I`Zck%>0r~Ud}@EDlDNuN;;o5)5ewwSVb^$!rPsf>hFb{ zM*6^6U>mR25~)u1jtmk(8Jln1pxYaF7Ph#zPUs1;2kQL6gzx%#ql;BjDqE<@4HqB- zH0F^I@khf6D5n$D8%Q(46cSqxY&53F^v|5C=>1nA5?`Q9eHRn%q>x0-b!n*VnYMud z2%T|3<{x_Eqf)=hz;imMJhh*@RFw77httF8LKBa@>%J+LUbhFZ1dd zRbbKAGaO`5nWxWzR;r<)T_0QxcB@zQTh0fFakv)ibEy31UADm7IY?Oa-9nKMu?gCVITmZ#ls~ExoT_+6ngRd6&VWN?{I2E4RV-b3}>QKbPhqF_jBH;$) z05Y-+o3b*EYw!89lJc*ph?p#tt9l?UwMtKAfoeK6#7kj^^Xhj4P1!0I;f<=?%y_l? zGfyudkUi{qO$!$!uS;i9J1)~HKkv!DotTFwR&vM&8DbKHo!9fH`aV2ex_su#Lab5NXv5@qqXcF#7WOgD`KP>q&m43VaiwcI!vAKK14Le7veBO5M{ts)?9e|jn^kkU-DIN&^n7gAK98n&2cy+ z2@GQAYWefI%8-2agwEXs65JPYP3OF@n}jm(F5DwcuV>zSty2OrGZ-@d3D%UtbDmid zN6yb@Hd`hRGShM(ps)*PsJ4@a8l2$c9*Ht5(}7J>O3}P%G}KsSBd&Uk#kvA^ulB%M zS-bSw@!wv-QjtItS@Z3Wwmm8Unn2ARE|h?uDU33tx;WzhF{1Kzzdq%L{n?5QAGb{; zVtyJo7xs8UU}~hK_1Wi0@WD!jN%5ky>SrDQ-^NQ3H-FpDk%&2~DSf>>Xer>H8*e6z0fG+eDLw zlUTNj&ShzkbsX*>rK(Q~pUrX(gwrX%pAPTa)FHtNP!%GXA zgT&1zGr+uMc`ft=taCYh=XrO;DAURAz_$(+um({QDa8|`6N7O%fh+PNoxD!HsBLx`0pn4Le(i6D3AC78bs+Uq@TR z={_ZXb$qNYwUSMlM)tNW-YfRYkOVs@Q0GjG`>#nsaGdUMR2ZI7$H|cLx?Dcj@~hOd z@^+&DBDAbY-`^sd=^Bc9@f{Zgn5FNMPCATsdBPbei2v)9rIrE0qcoWe^1M~pkl&#B za6TkeW>lV>XlHS#!G*)D-A%w8m9WLJwRBZe>XL7Q+rp)jojyJDy>gj`~=p-jvaxT5*EaiIVUEEjb zmrV(6s;mo7?owWSBJFU=N1{HCmDkU`-POII!>IB!GB4p<8GoYaM*b^995;efy~hbD zNAb2fWk5jE*zT!nY8-UI=qa9bywuF0`PGBU@eP(zV-f2 zBsL7>$#7b!9}UKBO`Xa%o=9-x-aTf8|3kzD1vCkR6b`rKhwW`r+Pto2cKSj1vUvVuL^xi-1tR%IeujxF-E2!p5GM5)7nM< z8b!+goKGm(y%Vcd;x|8vwO;65$egO8(I-|s6hRNPXpHAX=r>t)+Vuem#7%%uNL$NyXB#@tnKeo3Vp=c#~bJ+Jp~OHmMpa z$mP{w(E|8AZUQplwSpT)n(!QuI%3A!SaCzbg|be#+-wYU{j#VLvO^`iRcH_X8L8Wj zAf#h2;lEo}>VBA#Jbjh|)l{||PQF68FKpq0dtn7hJ+qSWv+lp=s@AGC)McY%M64hP%>*njPM4!AbCy|q?3vy(Ay6oTNnQ${nu0TD7v8!cbi+r8P` zd8rvh@1ci}|A`t@Ba8C~xj~+pI#shrR?rnO)tJc4iE;f~&|xCHT3j{5(i#JVboo7p zau>^@Q?_;x%I$bh+#=Rg3~^erL)?lQB>;`j8_5p7l?=-x?fU9^F>5yp)zq|N`GP=I z4L4E64XM?uq1&_(n1>8BIXD~*h7QgKyMrB5;!J*251yBO5Mp~Va(zLU2+LC^Mlq^Q zE{Dq@)u^81m*3(qtndLqH@%GX40tC`i^VuB9^Ej)DzhM;w`r|r3txkHmYf7dvSUyq zrR>E0Y~a}s0PS}Z5SE#qCfir=s|MMR+d~pQvHB$c$HdK9Ja=VP4m!4_Djzia>;Yr(NYjRQjLqHw=W3QLn!Iif3VbQaUo!nT zRNk}B)P)?uJ8Euv(qPIN9~^xC9XfoY(57aI*}+SL0{%|0H15o>BV!+d^&ysa1Cm30 z>TK_~wK%Q06@B;{iY#dwL~Q(`D9r&71qzYIjX39WsaJQTmevJ7fHj^3_9B#R=-M8P>YaDO1j-F5)OHkplGpvFeYJM3hyte@q3Q$!BH(W>u zUto`LoE45QPv^5%k}ni?wWgf$|4|eHdO#Ew1jwZt9@~ewNV-gGr1~g|z<_+^qOr%%;6W_eXlrc}Z7;ru7sr6TnTj zQoS~`7#%~Gov-T6X7OC^oTs)~Q_J&m3@ttrFlv^fZWqOwnG>8(iz!UBXEB-qdrny2IHCM4JRp?alM#6vwlF#{>oFvYY=5v`5(e`jv_)@+1i!& zeM47()WkkcER!h5tcOlvii7J3NjcUI zfleeU=CI6p25O*{bi!=JjaW9J&9nHev*khbX)^wIYPsf0AkXx=)gME0Bxjq~+ z@iX5`ysrWj2S*XrGdJyeH>Ku_fvcrgVw`iRf57;t3pel%FR zGU!zIsC;focb~{4!j9j))G;iuIwj*dp7Z2%^f0s+INT~Z{N}98T+nsb*?p=`KoDMA zRxI-Wx{A9W?I1?MwMF5M`GI97RLf&BB)~+dcK{Q;u9KXekb%x`(0>%k=$S&7_y}*W zRBdH*0D5Ni{JaOZhh&JdrmIAjANB{>ZLsm>h{-k@Qjg*j%N6Vj=JQZ{EkPQ+`&Ddc zA5$=z!z|bU7PAbSA;mOY+!!$}UD_|e3`6JU3j!NE=4EYON~q*)BlH2Bc11rXPyMsl znXiXEEn#|);&#vv_|T<(CV);jLpz06dcYLMni~MPgo^L;i>IWJz*0(5rqctf&iS&}V7v$Bt+He{FWu=$ zzKz=k9uA-vC`Dn+iNQZ;auX+x8&=FPns;xpcKmNqbzvGo*BqpbEp{az)WJNhlwy?W zcMRE_m|p+n`s|?<7hDDv@E+>^D_vuuBE(SY>il7;-l5fXN7VIwT`AuWIn7XZyL2pJ z3zpt@HqCU5*Qj;9GstnM_8m7Mv&d}Ob-W*X5R~5qI|){oBl`v;xQkM&(giUjZ#p2`}U42wjA_k$Naa9W^R|Z z9L#cMW6RJHKZpAe=YI=b&_M$WU5=aFy^))iDCCY%Kv+@E6FXnn#0uh&+@nxO#Z&X*b{mrScU9-+UjF@ z-aK~&C#{fA<4sNj*M}CtfxZkRZXg30wr}GL@86;l0iNw54~Zov#j-Lh)9K~b&l+;>S`_XoqRFQ ziHMk8phmE4z@s zayO%P56oYQFWScN-OGr9p-jr)J6~SKugMef7T`k6$V{ygMVf}|?+=du^ihnZ=(gg; zkiCj%Kxkl)E{FQdi_t2vgbz&P)pLfCD4w8Ztpi6_oFOq&&7BKS7o@7jwkkeE>J^67 zA{vE^>cOR>tJYRb_9LXsa=;YB^5$4kconF0i>d(SIS(%s5Bbv2d%nliKtl^$PtT(O zJHHbd*R_4WaEEpgZDhcXsYT^2uA+K$_*YXkTR&tOpu+dbNSkUx6-T4W9l`K9!CX$M zpA&{O+s+IIq2Z;R9kLZ*C914|dZurEtf(Y87Y_O0FtM$DA{*g?%%+~Zha?`HW$uQE zO5zoPXQEM{c%`2vXohj$uWan@H17g&b!vJm-KO*Gw>Z3SinQ7%oMg0yHHrs5B+@#{ z?2pjvhzV7flxfH%n|ln4_=!2O1~|*+i6p^DD_Op;&+lM2iCZ_?!+oFC%rCv0J!Pte zngO&F4#26$S?vVj?SP(;E@BJjpEbe)qJFhUGP_|od#IGowIGhW%NNq&D1i2>aQ30M%^ef(5sh&Zxp4nbgPvFnK|%W@*xrn1Avg z`~NrRy$5fIvf;}LrLs&>+$!%G+>gKxS(YX@&AF_2WRKek43)oyS?0~?&BO4ugNSV>) znWrc%{_q+;ir*)zLtKUq{2%wn zX`m){CPFe$q=xnRo=9#!iA7RW*1*E+kl~h>8tGJ$pZwEm^%JwuClD#}*s>3%&*K8} zIt=e9Xv3*xxT_Ch<_Uj7J3%**74!)r+=;WaFwK8tz6&KOlv|3jv&?Be6!itgk%?NG zjYJoIR99bNX<3|;TW0IkBT)Y{D-aF81W%zbEf>JlFgo-K5pH)|CosP;NTSbn*SYq~ z#MBm`Vby5l$|ozw2-9TYyPlsB$X>EEDL={wF+A%rxHI0 zm+S&69TN{@T*4jXIF|PlMwEmkGlTrXMvTiKRDA8GRp$V=8BHCQA=-7%poU-48t*wY zkKY3(0RR?`$k!ynoqW2v^+4rs3{V&OmJ#kIRb1=T%Ug*eVG@S6 z{a>Bt^3yxz=>_qtIj`B!%3FhTjlep9KUN=WZ$)v-&!vRL;DTaRh%CH)2*W7>_J{1= z9{{Lp6*xW0%j*W9tTOkl@$l4s8sjQ?U%w$iPkd>Ba%EW5&=bPRXVU)WbPr^IN?j;0 z5*x)zcFH#YeBs5(typ)DC{>Qf>gsccs{*JP8#|^BHfEOqC>NeJ0fsMneTX-1tBZ!p z#mH7H7w#turxOL$kTvs)1|GM96U$oM^MYDR#xp_e!3N2mItZIXdfwAki~bLz=l-MEkxc&qIv~tMIbOOMN=vc9j zuU#FR4>&p{>r7FcCvtPLso@7W!s7-^ z=WGTJTy6(507--(sXlF-k2DQmk*-EL;YOb#WkqlC+0U!MCpw(%6Awy&!}nXK*)NQt zS)FGKpQ6b(>c)JyXZ9jehhOPXGdDlbO)E8FL|JORvKBu3Zr^XkG_Tto9S&V@Plu{6 zdl;dP%LazWfEtHp3E36NdtJ732T)nks~IF85TheG{LOP4fyh&P5g4wJl>}jC%Pys~ z2e0{EiR<5To39rNDVpntrCRN0XyFrtP$l%GFg5bENF6@k)B6HnD{r@^IHUb<&RbEB zau48N0EaSP&~8vc-;Idjy`%HvqD+G{j#`dPsjQ&kgIGC~*3-O~<*DCe(QiQ=>!bwd z$mM$(i;;M!BI!@wHY9Ra7CB(?5#FlTaZpaMWBP;fua-U?VRembkYvXH{S75101M0I zLM4D1CVE7rhKT0Ml7+Do(gP>Mv}@q{ErCO?hqI=vCBLx(ByE&n@Dw5R*|z0EslEK$ zF6ISg`wKCx;y}Seqv%s*KUY=gJZ!4Mr7){?>&~iGefFcx=F6`Y6V?9M=_yoAKthi3 zq2mMhpiLYN83}Y$t&OjWDlKZ5=G2b>Y{Tf=H_cTIQ8tB^A z1wgP@)*@HD$}uJEGjP@D?QY%shDhZ|e6eO33<|GK85--z*+8XUSm9Q@VNL=eswjr( zqh}nGd(ZpQ`u>CmFnUqYxXO1}%eArWcmL}9=9gT603mQk`7eVhyTK28Hu&6abrZuu z29GDSbp+Kfy59D#B|l5p*Y{!17?!iBTx%`*7@-t{zf%PyB$t8g0t{j8zgIGP3=4ES zy%jx+MwDJlq~Y9_-GUC*+>uRpl^02P1ny(N7Pj_&=F;cgtk;lueEdj%%1lcQ5yRrP z&T9m47y3p&;m?Mp#a{ml-NcW>ycq=c86`ckEx#DNif+C?scgYSo97x#Q>66iu3#p9 z%Ev7Lmw+H&6P^ntjIOJY1krEwY6i(j?u7q+4A8FBce=q8;Yu1P=lWfS?*E*n5`s=Yr zpGgT;bAz*sNAutqDOLJz6Rx#dw!x9c+oITS^obI=eK*o>GR{h`r0t%( zfLeo6{Y1dh;42lAV0S!NyQa))4kat6Q{!$>@A<^xmAiUds6AF#KKG{+=cXr&y2WH3 znLcsddOd~#x_ba!?qxO-6jHhRefw_wZDr?dG+CvEh_=%`_XE!p2zDd*Fh>z-!o%kf4>Nl*AHRmNY zix>YxRxxkvj)#OcDf!edINYzdyJcOzhPE=NxCoz3nJ_CtAEqI*VcB?@*OmfhYIu}8 zmD2@ceo%=rRxPd&^9^Xv2m@;~>hF~#gasKUHP?m_1a!#jZuj6#DX--l zKeZYJ--p=qLY<$n_GtgZv+HB$GNqu;pe74-pucSq;Wt20|7U(31xyG!=M#=Uecx+n1H#-#3HAM~8HH&w z`V(jPSdXO}Ia|EQS`Uk=P4bHhlSjtx1`}1s-gR5$^hu5`#E8FQd9AC?dh;~RBhEc@ z3@_>UP!fEl2iXwRQq5FV&8oHrBjv4k=swutb?*o z1Ls4aAP1Ki7-ePXJ2x4tno^PA_H_3=#DhlK-6KYNf!V{w0i)n9@lWEUoL9p_3pfcg zC3m4Z-2?Fs0l#Zoi|yJ(PP$pV3`xH0<3*nE!SNprzL*GY1LqUu*A>Crl?dtfe}liI zbT#8xKGddy#v3^#(C=>=ngZ(cqZqa4NvrUV42B!j)JXlV-ZXOg7=(X_znrasH5E)> zPV4UJaoM}-T4C7Nv@&tEq1QuPpr5-L#davsm?@!S((Bi}9JW&=6Ilks(XlW`xCc!E z`_5x+->5W7k?&i#6scrb1mKrKo~e$0#eptKn)=TpLFIa;xR5l^4J3Fki6a6Q0fZ_3N^Sv3?#0sPeKTu;I zw1NK`eTA+xMFW5y6pnL-8N%yjUD?;W(N?FJKY6&9jh^16xl#_F-%qYR0d#+EXaN^~y{C8d8rxLphMIq296&MZ;Ul z`;ck4Es*$+OERPH5ZJ_cl~p!nCT9bsL(wf92Q>f3=C2G(x*xXhH6%E}ul6AS;* z@hopn(8GLt4JPX-$v*2wv|4IyWY<&A@}*@I4#}r~UDw?yp&WfKtF<&`;H<0t0%6r( z>V!%g{~SBv)!3L7{W=X89SKoiE1z&!a$AX-a&aPj%*uAlFmqJO!9o!(d43Zf#Yh+qpUXv`HH`}=e)Rl%n=K5{NQGLzrmpy~O#AkGO^W9QKXw|?4oQlcZW z0(&(}Qzs{fn=*WAqBJ8oXaVo-tah=pogAb?@1Po5R3j-zB$=*Q3+O$XBaYxp3`p+S zt(R&2ULZoC5kW5fYR=Hk04`EMQ;zgE6}tB^1)^?r*OpuV5a0c|z@tYC{Wq;;k{p;Z8Ms+u{bdyWFjGu9Fc8(u*^%s>zhEmu%l z&0E9v=d)A~INTYev}ow5Tpcmht46bQOLoF63tWWu&nO#1n;R*Q|xH48XBR}tmVM&h4{n__bc$e18E zOj2!2M363_8XZe{aLU!~TLXhVx7mlFU|(=T#VN;#XCs0zfDl8nXt3$a)4 zLg$zF8A|TZCfl&2b&alM#ijsyAdrM=U=q)sB4XnNB&7n%vtE) zSy|Q28tVe8Crq2J78a^}gfp*k7z}Ce2$HQR{Iom{C9OcBjSu+vJn&OF)qJF5 zqW0Vlv#-0`f6SKw*E>L%RPIvQJc#6DPSgxh0%V#M5X#avG{9XB%C;GN>`vR))qq|O zz`8;hB}1Qgq7K!{C-nKEDN;H*IKWrW1g%{^{X)bQ(jvEhHH$4-;o)|DQ!lM&H{8{^ z^@WEcNrY<>7k$ZhQa2cx{23O9v;uMERk-8CM-@I3QtC*L%Dl10A&jXnF}lDT1v;>7E|v>09>u~gQHyG0^xY$H-9e364ZSJPm3V`vKighaE| zs4nJVCwRM=MwxUiP0cocR_@Spp1ujFvKTn^dF6Q;$yIfQMo1-=j-t)_K-JAoI+yYi}l_Gp$}v^TS2It+8M4cq+w1 zE39a%KT5gBCUNFf&t!$7orO`QkVexlC{VFq3#qIbZ zUuLDL_*0@n Date: Mon, 16 Dec 2024 19:16:22 +0800 Subject: [PATCH 2/2] fix: uvc_tool.sh cant provide empty line at first --- .../cvitek/SG200X/overlay/etc/init.d/uvc_tool.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/buildroot/board/cvitek/SG200X/overlay/etc/init.d/uvc_tool.sh b/buildroot/board/cvitek/SG200X/overlay/etc/init.d/uvc_tool.sh index 12ea441e1..efbf4f475 100755 --- a/buildroot/board/cvitek/SG200X/overlay/etc/init.d/uvc_tool.sh +++ b/buildroot/board/cvitek/SG200X/overlay/etc/init.d/uvc_tool.sh @@ -72,6 +72,12 @@ parse_uvc_config() { ' "$input_file") fi + # 如果没有解析到任何数据,或者文件不可读取,则返回默认值 / If no data is parsed or file is unreadable, return default values + if [ -z "$parsed_data" ]; then + echo "Warn: No valid config, using default instead." 1>&2 # 输出到标准错误 / Output to stderr + parsed_data="mjpg 640 360"$'\n'"yuyv 640 360" + fi + # 确保至少包含 'mjpg' 和 'yuyv' 格式 / Ensure at least one 'mjpg' and 'yuyv' format exists has_mjpg=$(echo "$parsed_data" | grep -w "mjpg") has_yuyv=$(echo "$parsed_data" | grep -w "yuyv") @@ -86,12 +92,6 @@ parse_uvc_config() { parsed_data="$parsed_data"$'\n'"yuyv 640 360" fi - # 如果没有解析到任何数据,或者文件不可读取,则返回默认值 / If no data is parsed or file is unreadable, return default values - if [ -z "$parsed_data" ]; then - echo "Warn: No valid config, using default instead." 1>&2 # 输出到标准错误 / Output to stderr - parsed_data="mjpg 640 360"$'\n'"yuyv 640 360" - fi - echo "$parsed_data" # 返回解析的数据 / Return the parsed data }