Action() von cReceiver nutzbar? // daten von Receive() mit PAT/PMT versehen?

  • nabend,


    zwei anfänger fragen:



    1.) ich habe eine eigene implementation von cReceiver, die ja auch von cThread erbt. folglich muss meine implementation auch die funktion Action() bereitstellen.
    da ich das receiven auch in einem thread abhandeln möchte damit das plugin nicht blockiert frage ich mich gerade ab ob ich dazu die eigene Action() methode nutzen kann?
    Oder muss ich erst noch ne klasse erstellen die von cThread erbt, die wiederum nichts anderes tut als den receiver zu attachen und somit daten received?


    2.) ich habe mal testweise was ich mittels Receive() eingefangen habe in ne file weggeschrieben. ordnungsgemäss werden natürlich nur die Pids weggeschrieben die ich spezifizert habe (vpid, apids, dpids, spids). die datei folglich mittels vlc & konsorten nicht abspielbar da PAT&PMT fehlt.
    in remux.h habe ich GeneratePmt()/GeneratePat() gefunden, nur wie binde ich die durch diese funktionen generierte tables in meinen mittels Receive() empfangenen stream?


    danke,
    infinite

    kuifje
    asus m2n-vm | Athlon 5600 | Nvidia 9300GE | TT S2-3200
    yaVDR 0.4 | 1.7.21
    haddock
    asus p4pe | 2ghz | 3x DVB-S Budget | 2x500gb
    debian lenny 2.6.29.3 | e-tobi 1.7.0 | streamdev cvs | live


    <30.12.07 <igel>sid fuer den gewissen kick>
    <01.04.08 <igel>ich kann eh nix ausser debian pakete installiern>
    <15.12.09 igel hasst linux>
    <23.02.10 <igel> easyvdr is nur easy wenn es easy is>

  • Abschreiben:


    LiveReceiver.cpp


    Das notwendige findest du im Konstruktor, open, Receive und Action.


    Denk dran dass der Receiver sobald er die Pakete empfangen hat sofort!!! verarbeiten muss, das heißt, du musst die daten in Receive() erstmal irgendwo puffern, bevor du die in ein File schreiben kannst. In Action kannst du dann die Daten aus dem Zwischenpuffer ins File schreiben.


    Das geht alles mit einem Fred.


    Medion Digitainer; AsRock B75 Pro3-M, Celeron G540; Kingston Value 4GB
    Samsung SpinPoint 250GB 2,5"; Samsung WriteMaster DVD-Brenner;
    TT-S2-6400, 2x TT-S2-1600, Ubuntu 12.04 mit YaVDR-Paketen. VDR 1.7.27, UPnP/DLNA-Plugin

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!