נפתרה תעלומת סרט הבלוריי הסורר שה YAMJ לא הצליח לזהות כסרט!!osherov כתב: אני עכשיו עברתי לשלב בניית הקוד של פרויקט ה yamj בבית, רק כדי להבין למה הוא לא מצליח לזהות לי סרט בלוריי אחד ויחיד. זה פשוט משגע אותי! מה מיוחד בקבצים של הסרט הזה לעומת סרטים אחרים שנראים על פניו בדיוק אותו הדבר?...
יאלה קצת פרטים טכניים:
סביבת הפיתוח והקוד:
הייתי צריך להתקין את סביבת הפיתוח שלהם עם הקוד של jukebox ואח"כ להבין איך לבנות את פרויקט ה JAVA הזה בסביבת חלונות בכלי הפיתוח שבחרתי בו (השתמשתי ב eclipse) ואח"כ להתחיל ולעשות debug על הסרט הבעייתי. ת'אמת לא היה כזה נורא למרות איזה באג מזעזע בסביבת הפיתוח הזאת (איפה זה ואיפה ה VS של MS).
תהליך הדיבוג:
אחרי גלישה בקוד לתוך מנגנון חיפוש הסרטים בתיקיות בלוריי (מה שנמצא בתיקיית ה BDMV ושם יושבים כל תיקיות ה STREAM ה PLAYLIST והאחרות) גיליתי שהחיפוש ב YAMJ נעשה, ראשית על תיקיית PLAYLIST שבתוכה נמצאים קבצי ה mpls. קבצים אלה מחזיקים בתוכם את האינפורמציה של כל חתכי הניגון בקליפים בסרט הבלוריי, קבצי ה m2ts. רק להדגיש שהיחס פה הוא לא אחד לאחד (כלומר קובץ 00010.mpls לא מציג בתוכו בהכרח נתונים על התוכן בקובץ ה 00010.m2ts (שלא בדומה לקבצי הקליפים, clpi שנמצאים בתיקיית ה CLIPINF ששם החיבור הוא אחד לאחד בינו לבין הקליפ המתאר את קובץ Clip AV stream file, כלומר קובץ ה m2ts)). מה שה YAMJ עושה הוא למצוא את קובץ ה mpls שמכוון על הקליפ הארוך ביותר ומתוכו (מקובץ ה mpls) הוא לוקח את קובץ ה m2ts שאליו הוא מכוון ומתחיל לעבוד עליו (קובץ ה m2ts הזה הוא הקובץ שינוגן בלחיצת Play בנגנים שלא תומכים בהצגת תפריטים).
אז מה הייתה הבעייה:
הבעייה בסרט הבלוריי אצלי הייתה שקובץ ה mpls אשר מצביע על הקליף הארוך ביותר כיוון על m2ts שלא היה קיים אצלי (מספרו היה 0052.m2ts), כנראה מי שביצע את הריפ שלך הסרט מחק אותו בגלל שלא היה בו צורך לטובת ניגון הסרט(אולי זה היה הסרט עם הדיבוב של הבמאי או משהו דומה). מכיוון ש YAMJ לא מצא את ה m2ts הזה אצלי הוא החליט שאין סרט בתיקיה הזאת ומדלג לסרט הבא!
הפתרון:
הפתרון שלי היה מאוד פשוט והוא, סתאם, להוסיף איזה קובץ m2ts באותו שם של זה שהיה חסר לתיקיה וזהו הבעייה נפתרה.
שתי הערות אחרונות:
-למרות שבקבצים של הסרט המדובר הייתה באמת בעייה וחוסר בקובץ מסויים, עדיין לכל מי שמשתמש ב C-200 והגדיר ל YAMJ לנגן גם את התפריטים, לא היה צורך בפעולת חיפש אחרי הסרט הארוך ביותר (הקוד מבצע את אותה הסריקה גם כאשר ההגדרות הם על C-200)
-לכל מי שאין תמיכה בניגון תפריטים וחייב שה JB ינגן את הקובץ הארוך ביותר אז הפתרון שלי הוא לא ישים ומה שהוא צריך לעשות הוא לעשות שינוי שם לקובץ ה m2ts האמיתי של הסרט לשמו של הסרט אליו מכוון קובץ ה clpi הארוך ביותר (לדוגמה אצלי, היה צריך לשנות את שם הקובץ ה 0000.mt2s לשם m2ts.0052)