diff --git a/app/PlaYUVerApp.cpp b/app/PlaYUVerApp.cpp index c1ef172..708a6b4 100644 --- a/app/PlaYUVerApp.cpp +++ b/app/PlaYUVerApp.cpp @@ -262,14 +262,17 @@ Void PlaYUVerApp::open() for( UInt i = 0; i < supportedFmts.size(); i++ ) { - QString currFmt; - supported.append( " *." ); - supported.append( QString::fromStdString( supportedFmts[i].formatExt ) ); - currFmt.append( QString::fromStdString( supportedFmts[i].formatName ) ); - currFmt.append( " (*." ); - currFmt.append( QString::fromStdString( supportedFmts[i].formatExt ) ); - currFmt.append( ")" ); - formatsList << currFmt; + if( supportedFmts[i].formatExt != "" ) + { + QString currFmt; + supported.append( " *." ); + supported.append( QString::fromStdString( supportedFmts[i].formatExt ) ); + currFmt.append( QString::fromStdString( supportedFmts[i].formatName ) ); + currFmt.append( " (*." ); + currFmt.append( QString::fromStdString( supportedFmts[i].formatExt ) ); + currFmt.append( ")" ); + formatsList << currFmt; + } } supported.append( " )" ); diff --git a/lib/PlaYUVerStream.cpp b/lib/PlaYUVerStream.cpp index ac8b795..1b74083 100644 --- a/lib/PlaYUVerStream.cpp +++ b/lib/PlaYUVerStream.cpp @@ -45,9 +45,9 @@ std::vector PlaYUVerStream::supportedReadFormats() { INI_REGIST_PLAYUVER_SUPPORTED_FMT; - REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw Video", "yuv" ); - REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw Video", "gray" ); - REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw Video", "rgb" ); + REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw YUV Video", "yuv" ); + REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw Gray Video", "gray" ); + REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerRaw::Create, "Raw RGB Video", "rgb" ); REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerPortableMap::Create, "Portable BitMap ", "pbm" ); REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerPortableMap::Create, "Portable GrayMap ", "pgm" ); REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerPortableMap::Create, "Portable PixMap ", "ppm" ); diff --git a/lib/PlaYUVerStream.h b/lib/PlaYUVerStream.h index 8e140fc..b3e94ac 100644 --- a/lib/PlaYUVerStream.h +++ b/lib/PlaYUVerStream.h @@ -43,6 +43,7 @@ typedef struct { String formatName; String formatExt; + String formatPattern; CreateStreamHandlerFn formatFct; } PlaYUVerSupportedFormat; @@ -58,6 +59,10 @@ typedef struct formatElem.formatFct = handler; \ formatsList.push_back( formatElem ); +#define REGIST_PLAYUVER_SUPPORTED_ABSTRACT_FMT( handler, name, pattern ) \ + formatElem.formatPattern = pattern; \ + REGIST_PLAYUVER_SUPPORTED_FMT( handler, name, "" ) + #define APPEND_PLAYUVER_SUPPORTED_FMT( class_name, fct ) \ { \ std::vector new_fmts = class_name::supported##fct##Formats(); \ diff --git a/lib/StreamHandlerOpenCV.cpp b/lib/StreamHandlerOpenCV.cpp index 6d8628a..bc64333 100644 --- a/lib/StreamHandlerOpenCV.cpp +++ b/lib/StreamHandlerOpenCV.cpp @@ -41,7 +41,7 @@ std::vector StreamHandlerOpenCV::supportedReadFormats() { INI_REGIST_PLAYUVER_SUPPORTED_FMT; #if( CV_MAJOR_VERSION >= 3 ) - REGIST_PLAYUVER_SUPPORTED_FMT( &StreamHandlerOpenCV::Create, "Device", "/dev/" ); + REGIST_PLAYUVER_SUPPORTED_ABSTRACT_FMT( &StreamHandlerOpenCV::Create, "Device", "/dev/video*" ); #endif END_REGIST_PLAYUVER_SUPPORTED_FMT; }