author | Ke Gong <ke.gong@amlogic.com> | 2017-04-06 02:50:16 (GMT) |
---|---|---|
committer | Ke Gong <ke.gong@amlogic.com> | 2017-04-06 02:50:16 (GMT) |
commit | d41c9def52f02ad5629ee9bfe4f3bb43b433b257 (patch) | |
tree | f4f473ef16944d45ebef59b0191ddcf0418bb1b9 | |
parent | 1ad9040ebcecaa23b93254121937ad074255f48c (diff) | |
download | libzvbi-d41c9def52f02ad5629ee9bfe4f3bb43b433b257.zip libzvbi-d41c9def52f02ad5629ee9bfe4f3bb43b433b257.tar.gz libzvbi-d41c9def52f02ad5629ee9bfe4f3bb43b433b257.tar.bz2 |
PD#141549: add TSID parser
Change-Id: I1326c85bc183a0c0a489f0a5a777faf48dc0bf14
-rw-r--r-- | src/caption.c | 16 | ||||
-rw-r--r-- | src/event.h | 3 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/caption.c b/src/caption.c index 90e7a67..14fd738 100644 --- a/src/caption.c +++ b/src/caption.c @@ -502,6 +502,8 @@ xds_decoder(vbi_decoder *vbi, int _class, int type, break; case XDS_CHANNEL: + n->ts_id = -1; + switch (type) { case 1: /* network name */ if (xds_strfu(n->name, buffer, length)) { @@ -554,6 +556,20 @@ xds_decoder(vbi_decoder *vbi, int _class, int type, break; + case 4: /* Transmission Signal ID */ + if (length < 4) + return; + + n->ts_id = + ((buffer[3] & 15) << 0) + |((buffer[2] & 15) << 4) + |((buffer[1] & 15) << 8) + |((buffer[0] & 15) << 12); + + vbi->network.type = VBI_EVENT_NETWORK; + caption_send_event(vbi, &vbi->network); + break; + default: break; } diff --git a/src/event.h b/src/event.h index 7b699a3..1977cef 100644 --- a/src/event.h +++ b/src/event.h @@ -128,6 +128,9 @@ typedef struct { /** Private. */ int cycle; + + /** Transmission Signal ID */ + int ts_id; } vbi_network; /* |