פרויקט צינור מדיה עם בעלות מוגבלת¶
הדרישה¶
נבנה תוכנת ראסט שמייצרת שמע, מעבירה אותו דרך מאגר קבוע ומנגנת באמצעות ממשק שמע של מערכת לינוקס. ברירת המחדל תהיה התקן התוכנה null של ספריית השמע, כדי לבדוק את מנגנון ההעברה בלי להניח שקיימת חומרת שמע. לאחר מכן נבדוק התקן מעבדה שנבחר במפורש ונפריד בין תוצאות שני המצבים.
התוכנית תייצר מאתיים תקופות שמע, כל אחת בת עשר מילישניות, בקצב של ארבעים ושמונה אלף מסגרות לשנייה ובשני ערוצים. כל דגימה תהיה מספר שלם בן שישה עשר ביט בסדר בתים קטן. מאגר של ארבעה באפרים בלבד יעבור בין המייצר, תור העבודה והצרכן. אין ליצור באפר חדש לאחר תחילת ההפקה.
חוזה כשל¶
כאשר אין באפר פנוי המייצר ישמיט תקופה ויספור אותה. זו מדיניות מעבדה שמדגימה לחץ חוזר; היא אינה מבטיחה רציפות שמע. כתיבה לצינור חייבת לשמר התקדמות חלקית ולהסתיים בתוך תקציב זמן לכל תקופה, אחרת כל הזרם יסתיים בשגיאה. סיום הלקוח החיצוני באמצע העברה צריך לעצור את המייצר ולסיים את התהליך בלי תהליכון שנשאר ממתין.
הוסיפו אפשרות להאט את הצרכן באופן מכוון. השוו ספירת השמטות, גיל תקופה ומספר באפרים פעילים. דוח ההגשה יכלול את גבול זיכרון הדגימות, את מסלול ההחזרה של כל באפר ואת ההבחנה בין כתיבה לצינור לבין ניגון פיזי.
תנאי קבלה¶
הריצו ללא האטה, עם האטה של שלושים מילישניות ובמצב שבו תהליך הניגון נסגר באמצע. ודאו שאין דליפת תהליך ילד, שאין המתנה אינסופית לכתיבה ושסכום התקופות שנמסרו והושמטו מתאים למספר שנוצר עד העצירה. הסבירו מדוע מילוי הצינור אינו מדידה ישירה של זמן ההשהיה בהתקן.