diff options
author | Nick Piggott <nick@piggott.eu> | 2016-09-05 10:03:39 +0100 |
---|---|---|
committer | Matthias P. Braendli <matthias.braendli@mpb.li> | 2016-09-09 08:09:29 +0200 |
commit | 22c56630b362d6ae54c2ec42157a6d7a8503c71f (patch) | |
tree | e332c0657c9cc582f64f15e605e9efd95e37aef9 /src | |
parent | db32b970403eaf787ad015f242b8177de3f3f37b (diff) | |
download | dabmux-22c56630b362d6ae54c2ec42157a6d7a8503c71f.tar.gz dabmux-22c56630b362d6ae54c2ec42157a6d7a8503c71f.tar.bz2 dabmux-22c56630b362d6ae54c2ec42157a6d7a8503c71f.zip |
Update to add EPG Profile information to User Application Bytes
Diffstat (limited to 'src')
-rw-r--r-- | src/fig/FIG0.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/fig/FIG0.cpp b/src/fig/FIG0.cpp index 8393c72..8c26dff 100644 --- a/src/fig/FIG0.cpp +++ b/src/fig/FIG0.cpp @@ -950,7 +950,7 @@ FillStatus FIG0_13::fill(uint8_t *buf, size_t max_size) (*subchannel)->type == subchannel_type_t::Packet && (*componentFIG0_13)->packet.appType != 0xffff) { - const int required_size = 5+2; + const int required_size = 5+2+2; if (fig0 == NULL) { if (remaining < 2 + required_size) { @@ -980,10 +980,19 @@ FillStatus FIG0_13::fill(uint8_t *buf, size_t max_size) FIG0_13_app* app = (FIG0_13_app*)buf; app->setType((*componentFIG0_13)->packet.appType); - app->length = 0; - buf += 2; - remaining -= 2; - fig0->Length += 2; + if (app->typeLow == FIG0_13_APPTYPE_EPG) { + app->length = 2; + app->xpad = htons(0x0100); + /* xpad used to hold two bytes of EPG profile information + 01 = basic profile + 00 = list terminator */ + } + else { + app->length = 0; + } + buf += 2 + app->length; + remaining -= 2 + app->length; + fig0->Length += 2 + app->length; } } |