Jarosław Bałuka pisze:Rozumiem, że mówimy o 'pustych pakietach' ? Tak, są w strumieniu bo być muszą. Natomiast w żadnym wypadku nie są wrzucane w którymkolwiek z PIDów opisanych w tablicach PSI/SI. Mogą natomiast być na jakichkolwiek PID-ach spoza tych zdefiniowanych, są wówczas ignorowane przez każde urządzenie.
Wgryzam się coraz bardziej w specyfikację (może za niedługo mnie Emitel zatrudni
) i zastanawia mnie, dlaczego Pana zdaniem w strumieniu muszą pojawiać się puste pakiety? Czyżby odbiorniki nie mają kondychy i bez chwilowych odpoczynków się "męczą"? Przecież jest tyle danych, które można przesłać szybciej lub w ogóle przesłać przy tej okazji.
Jarosław Bałuka pisze:O których to znacznikach mowa, w którym miejscu? Można zrzut ekranu..?
Nie miałem na myśli znaczniki, a znaki. Oto jeden z deskryptorów zdarzenia w tablicy EIT (krótki, żeby się nie rozpisywać):
Kod: Zaznacz cały
descriptor_tag 8 bits 0x4d (short_event_descriptor)
descriptor_length 8 bits 0x41 (65 bajtów)
ISO_639_language_code 24 bits pol
event_name_length 8 bits 0x29 (41 znaków)
event_name_char 328 bits #10#00#02Dwójka Dzieciom: Harry i Hendersonowie
text_length 8 bits 0x13 (19 znaków)
text_char 152 bits #10#00#02serial komediowy
W kodzie powyżej opisałem je jako #10#00#02, ale poprawniej można zapisać 0x100002. Są to znaczki wskazujące na tablicę znaków ISO/IEC 8859-2. Ten kod jest absolutnie zgodny ze specyfikacją ETSI EN 300 468 V1.11.1 i warunkami określonymi przez MI. Niemniej zastanawia mnie zachowanie odbiorników. Stąd moje pytanie, które odbiorniki poprawnie wyświetlają wszystkie znaki w EPG niezależnie od ustawionego regionu bazując właśnie na trzech bajtach ISO_639_language_code i trzech bajtach 0x100002 przed każdym ciągiem znaków.
Co jeszcze zauważyłem. Państwa platforma jak ognia boi się łączyć sekcje EIT wewnątrz jednego pakietu TS. Przecież standard przewiduje taką możliwość. Przykład:
- koniec sekcji zajmuje powiedzmy 10 bajtów pakietu TS. Państwa platforma robi to tak, że ustawia znacznik payload_unit_start_indicator na 0 i pakuje 4 bajty nagłówka pakietu TS + 10 bajtów końcówki sekcji i reszta, czyli 174 bajty o wartości 0xff jako wypełniacze
- norma pozwala zrobić inaczej: ustawić payload_unit_start_indicator na 1, za 4 bajtami nagłówka pakietu TS wstawić pointer_field=10 potem te 10 bajtów kończącego się segmentu a następnie 173 bajty kolejnego segmentu tablicy EIT
Prawda, że duża oszczędność? Może wypełniając w ten sposób pakiety okaże się, że pozostałe telewizory zaczną rozumieć całe EPG. (Oczywiście istnieje opcja, że większość działających pogubi się, ale od czego są przeciągające się testy
) W ostateczności można szlifować to ze Ślęży przez luty i marzec