diff options
Diffstat (limited to 'recipes/libdvb')
-rw-r--r-- | recipes/libdvb/files/topf2ps.patch | 123 | ||||
-rw-r--r-- | recipes/libdvb/libdvb_0.5.5.1.bb | 28 |
2 files changed, 151 insertions, 0 deletions
diff --git a/recipes/libdvb/files/topf2ps.patch b/recipes/libdvb/files/topf2ps.patch new file mode 100644 index 0000000000..93503ca92d --- /dev/null +++ b/recipes/libdvb/files/topf2ps.patch @@ -0,0 +1,123 @@ +diff -ruN libdvb-0.5.5/Makefile libdvb-0.5.5-topfield/Makefile +--- libdvb-0.5.5/Makefile 2004-09-16 04:56:21.000000000 +1000 ++++ libdvb-0.5.5-topfield/Makefile 2004-12-03 15:53:24.677184191 +1100 +@@ -68,7 +68,7 @@ + make -C libdvbmpeg clean + make -C sample_progs clean + make -C dvb-mpegtools clean +- rm include/*~ ++ -rm -f include/*~ + + dist: + mkdir libdvb-$(VERSION) +diff -ruN libdvb-0.5.5/dvb-mpegtools/Makefile libdvb-0.5.5-topfield/dvb-mpegtools/Makefile +--- libdvb-0.5.5/dvb-mpegtools/Makefile 2004-09-16 04:56:21.000000000 +1000 ++++ libdvb-0.5.5-topfield/dvb-mpegtools/Makefile 2004-12-03 12:38:58.000000000 +1100 +@@ -16,7 +16,7 @@ + pesplot pes2ts2 pes_repack split_mpg cut_mpg ts2ps ts2es\ + insert_pat_pmt get_http extract_pes extract_pes_payload\ + change_aspect_1_1 change_aspect_4_3 change_aspect_16_9 \ +- change_aspect_221_1 ++ change_aspect_221_1 topf2ps + + .PHONY: depend clean install uninstall + +diff -ruN libdvb-0.5.5/dvb-mpegtools/main.cc libdvb-0.5.5-topfield/dvb-mpegtools/main.cc +--- libdvb-0.5.5/dvb-mpegtools/main.cc 2004-09-16 04:56:21.000000000 +1000 ++++ libdvb-0.5.5-topfield/dvb-mpegtools/main.cc 2004-12-03 12:45:39.000000000 +1100 +@@ -52,7 +52,7 @@ + write(STDOUT_FILENO, buf, count); + } + +-#define PROGS 29 ++#define PROGS 30 + + char *prognames[PROGS+1] = { "streamtype", // 0 + "ts2pes", // 1 +@@ -83,6 +83,7 @@ + "change_aspect_4_3", + "change_aspect_16_9", + "change_aspect_221_1", // 28 ++ "topf2ps", + " " + }; + +@@ -116,6 +117,7 @@ + change_aspect_4_3_, + change_aspect_16_9_, + change_aspect_221_1_, // 28 ++ topf2ps_, + none_, + }; + +@@ -226,6 +228,11 @@ + cerr << "or insert_pat_pmt < <filename> (or pipe)" << endl; + break; + ++ case topf2ps_: ++ cerr << "usage: topf2ps <filename>" << endl; ++ cerr << "or topf2ps < <filename> (or pipe)" << endl; ++ break; ++ + case get_http_: + cerr << "usage: get_http <URL>" << endl; + break; +@@ -345,6 +352,10 @@ + } + break; + ++ case topf2ps_: ++ topf_to_ps(fd, STDOUT_FILENO); ++ break; ++ + case insert_pat_pmt_: + insert_pat_pmt( fd, STDOUT_FILENO); + break; +diff -ruN libdvb-0.5.5/include/transform.h libdvb-0.5.5-topfield/include/transform.h +--- libdvb-0.5.5/include/transform.h 2004-09-16 04:56:21.000000000 +1000 ++++ libdvb-0.5.5-topfield/include/transform.h 2004-12-03 12:49:20.000000000 +1100 +@@ -192,6 +192,7 @@ + void kpes_to_ts( p2p *p,uint8_t *buf ,int count ); + void setup_ts2pes( p2p *pa, p2p *pv, uint32_t pida, uint32_t pidv, + void (*pes_write)(uint8_t *buf, int count, void *p)); ++ void topf_to_ps(int fdin, int fdout); + void kts_to_pes( p2p *p, uint8_t *buf); + void pes_repack(p2p *p); + void extract_from_pes(int fdin, int fdout, uint8_t id, int es); +diff -ruN libdvb-0.5.5/libdvbmpeg/transform.c libdvb-0.5.5-topfield/libdvbmpeg/transform.c +--- libdvb-0.5.5/libdvbmpeg/transform.c 2004-09-16 04:56:21.000000000 +1000 ++++ libdvb-0.5.5-topfield/libdvbmpeg/transform.c 2004-12-03 12:50:55.000000000 +1100 +@@ -1247,6 +1247,30 @@ + + } + ++void topf_to_ps( int fdin, int fdout) ++{ ++ ++ uint16_t pida, pidv; ++ uint8_t buf[1880]; ++ int count = 1; ++ ++ if ((count = save_read(fdin, buf, sizeof(buf))) < 0) ++ perror("reading"); ++ ++ if ((count != sizeof(buf)) || (buf[0] != 'T') || (buf[1] != 'F') || ++ (buf[2] != 'r') || (buf[3] != 'c')) { ++ ++ fprintf(stderr, "Couldn't read Topfield header\n"); ++ return; ++ } ++ ++ pida = (buf[24] << 8) + buf[25]; ++ pidv = ((buf[26] & 0x7f) << 8) + buf[27]; ++ ++ fprintf(stderr, "apid %d (0x%02x)\n",pida,pida); ++ fprintf(stderr, "vpid %d (0x%02x)\n",pidv,pidv); ++ ts_to_pes(fdin, pida, pidv, 1); ++} + + #define INN_SIZE 2*IN_SIZE + void insert_pat_pmt( int fdin, int fdout) + + + diff --git a/recipes/libdvb/libdvb_0.5.5.1.bb b/recipes/libdvb/libdvb_0.5.5.1.bb new file mode 100644 index 0000000000..d2db2ce0d6 --- /dev/null +++ b/recipes/libdvb/libdvb_0.5.5.1.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "Linux Digital Video Broadcast library" +DESCRIPTION_libdvb-dev = "Headers for libdvb development" +HOMEPAGE = "http://www.metzlerbros.org/dvb/index.html" +SECTION = "libs" +PRIORITY = "optional" +LICENSE = "GPL" +PR = "r3" + +SRC_URI = "http://www.metzlerbros.org/dvb/${P}.tar.gz \ + file://topf2ps.patch;patch=1" + +S = "${WORKDIR}/${PN}-${PV}" + +PARALLEL_MAKE = "" + +inherit autotools pkgconfig + +do_configure() { + grep -v ^PREFIX ${S}/config.mk > ${S}/config.mk.new + echo "PREFIX=${prefix}" >> ${S}/config.mk.new + mv ${S}/config.mk.new ${S}/config.mk +} + +do_stage() { + install -d ${STAGING_INCDIR}/dvb + install -m 0644 ${S}/include/*.h ${STAGING_INCDIR}/dvb + oe_libinstall -a -C libdvb libdvb ${STAGING_LIBDIR} +} |