Giter Club home page Giter Club logo

dvb-is's Introduction

DVB Input Stream for Java

Enables Java applications to access local digital tuners. With a straightforward interface for tuning, getting signal level, and accessing transport stream data in the well known InputStream fashion.

The project conatins native implementations for BDA (Windows) and V4L2 (Linux) systems. Only DVB-T chains are built at the moment.

The following snippet will help you decide if DVB Input Stream is what you're looking for:

    DVBTStreamLocator locator = new DVBTStreamLocator();
    locator.setFrequency(610000000);
    InputStream is = locator.getInputStream();

Known issues

  • BDA drivers are not consistent when returning signal strength levels. (This is due to an ambiguity in the specification.) The native implementation on Windows currently just passes the values returned by the driver. Consult BDA documentation for possible values. - Future plans include a heuristic algorithm for the interpretation of these values.

Further plans

  • A transparent layer to access shared remote tuners. This is only way to support Mac OS X at the moment. (As it lacks an abstraction layer for digital tuners, like BDA or V4L).
  • BDA: support for MS's very new, under-documented universal Network Provider.

dvb-is's People

Contributors

vbence avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

dvb-is's Issues

Error: Reading from device (error code: 75) with TBS 6205

Using NativeTest I get the following with my TBS 6205 cards.

Has native support: true
Numer of devices: 8
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter0
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter1
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter2
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter3
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter4
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter5
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter6
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter7
-- Tuning and reading a single packet two times

Waiting 2 seconds for data ... done
java.io.IOException: Error: Reading from device (error code: 75)
        at org.czentral.dvb.io.NativeDVBIO.available(Native Method)
        at org.czentral.dvb.io.NativeTest.main(Unknown Source)

Which is coming from this native code. Looking up error code 75 I see EOVERFLOW 75 Value too large for defined data type.

Have I complied the native code wrong or is there a compatibility issue with TBS 6205 cards?

Interestingly if I change the test code to wait 200 ms instead of 2000 ms I get the following

Has native support: true
Numer of devices: 8
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter0
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter1
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter2
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter3
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter4
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter5
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter6
TurboSight TBS 6205 DVBT/T2 frontend - /dev/dvb/adapter7
-- Tuning and reading a single packet two times

Waiting 2 seconds for data ... done
47 2 59 14 76 7e 17 c0 8c 9e 49 2c 82 a0 39 b ...

Waiting 2 seconds for data ... done
47 2 59 14 76 7e 17 c0 8c 9e 49 2c 82 a0 39 b ...
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f22a2b25101, pid=5023, tid=139786735195904
#
# JRE version: OpenJDK Runtime Environment (7.0_91-b02) (build 1.7.0_91-b02)
# Java VM: OpenJDK 64-Bit Server VM (24.91-b01 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea 2.6.3
# Distribution: Ubuntu 14.04 LTS, package 7u91-2.6.3-0ubuntu0.14.04.1
# Problematic frame:
# C  [libNativeDVBIO.so.0.0.0+0x3101]  Java_org_czentral_dvb_io_NativeDVBIO_close+0xb3
#
# Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# ~/dvb-is/java/hs_err_pid5023.log
[thread 139786734143232 also had an error]
#
# If you would like to submit a bug report, please include
# instructions on how to reproduce the bug and visit:
#   http://icedtea.classpath.org/bugzilla
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted (core dumped)

The stack in hs_err_pid5023.log is

Stack: [0x00007f22a2a21000,0x00007f22a2b22000],  sp=0x00007f22a2b20930,  free space=1022k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [libNativeDVBIO.so.0.0.0+0x3101]  Java_org_czentral_dvb_io_NativeDVBIO_close+0xb3
j  org.czentral.dvb.io.NativeDVBIO.close()V+0
j  org.czentral.dvb.io.NativeDVBIO$ShutdownHook.run()V+4
v  ~StubRoutines::call_stub
V  [libjvm.so+0x5edc89]  JavaCalls::call_helper(JavaValue*, methodHandle*, JavaCallArguments*, Thread*)+0x339
V  [libjvm.so+0x5ecade]  JavaCalls::call_virtual(JavaValue*, Handle, KlassHandle, Symbol*, Symbol*, Thread*)+0x20e
V  [libjvm.so+0x6296d1]  thread_entry(JavaThread*, Thread*)+0xd1
V  [libjvm.so+0x906c70]  JavaThread::thread_main_inner()+0xf0
V  [libjvm.so+0x906ee1]  JavaThread::run()+0x221
V  [libjvm.so+0x7cc742]  java_start(Thread*)+0xf2

No suitable devices.

Hi , i wanted to use my "August t202" Dvb-T device in java
and its throwing an IOException:

Exception in thread "main" java.io.IOException: No suitable devices.
at org.czentral.dvb.io.LocalDeviceRegistry.openStreamAt(LocalDeviceRegistry.java:88)
at org.czentral.dvb.io.StreamLocator.getInputStream(StreamLocator.java:61)
at Dvb.Dvbt.main(Dvbt.java:14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.