ubifs 應用案例

1   環境

CPU : Freescale MX27

NAND FLASH : Samsung K9F2G08U0B, 2Gbits = 256MB

操作系統: linux

內核版本: 2.6.27

2   linux 編譯選項

2.1   支持UBI

Device Drivers  --->
<*> Memory Technology Device (MTD) support  --->
    [*]   MTD partitioning support
    <*>   NAND Device Support  --->
    UBI - Unsorted block images  --->
        <*> Enable UBI

2.2   支持UBIFS 文件系統

File systems  --->
Miscellaneous filesystems …
more ...

UDP下嘅實時音視頻傳輸機制

前言

經歷咗一兩年係項目當中嘅實時音視頻實踐, 覺得要實現好嘅實時音視頻傳輸實屬不易. 以下呢套UDP下嘅實現流程, 係血嘅經驗, 每一點都是來之不易.

全局要點: 視頻可跳, 但聲音不斷.

發送方

  1. 開始時, 編碼I幀, 發送
  2. 接著, 發P幀 ( 聲音與視頻編碼是不同的, 每次真實發送幀前, 讀取錄音緩沖區, 並打包 ), 發N個P幀後, 跳到 a
  3. 如果在發P幀過程中, 接收到對方發來的 "重發I 幀" 請求, 馬上放棄目前所編碼的幀(視頻幀,不是聲音幀), 跳轉到 a

接收方

  1. 建立幀列表, 至少存儲3幀以上才開始播放, 使用順序插入法, 尋找相應幀序號的位置, 並插入.
  2. 播放開始時, 不停從幀列表中取得一幀(由於此時幀列表是順序的,故此取列表頭的那一幀即可), 如果是P幀時則放棄, 直到找到I幀才開始真正播放. 聲音幀不需要等I幀, 只要按著順序播放即可.
  3. 播放過程中, 不停從幀列表中取得一幀進行播放( 聲音播放與視頻播放線程需要分開!!切記 …
more ...

使用 OTL 連接 SQLite

本文章假定妳熟悉SQLite數據庫,假定妳對OTL有 一定了解,假定妳所使用的操作系統為Windows平台。

OTL 採用的是ODBC數據源機制,到 http://www.ch-werner.de/sqliteodbc/ 可下載到最新的SQLiteODBC數據源驅動。

假定你已經創建了一個名為 MyTestDB 的數據源連接到你的數據庫,數據庫中有一表 Users, 表中有字段 id 及 value,id 为整型,value為字符串50個字節。

代碼:

#include <iostream>
#include <string>

#define OTL_ODBC
#include <otlv4.h>

otl_connect db; // Database connection

void test_select( void )
{

  otl_stream dbstream( 1 , " select * from Users " , db );
  int …
more ...

偽IP如何實現與客戶機進行TCP通訊?

軟件環境

WinXP SP2

截取數據包的Ndis5.0驅動已經寫好。 在用戶層,能夠修改驅動發來的數據包的IP地址,客戶機也能接收到該數據包。

我這個軟件是用于模擬多客戶機與服務器連接實現數據傳輸的測試軟件。

硬件環境

(33.33.33.33(假定是這個))         |—— 客戶機2 (192.168.1.105)
客戶機1——路由 (192.168.1.1)——|
                   |—— 發送機 (192.168.1.100) (偽裝 99.99.99.99)

現在需要發送機偽裝IP 99.99.99.99 與兩客戶機進行TCP通信

在客戶機2安裝的Ethereal 檢測到發送機發來的IP為 99.99.99.99 數據包,物理地址 …

more ...