Hello community, here is the log from the commit of package libpt2 for openSUSE:Factory checked in at 2016-05-31 12:09:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libpt2 (Old) and /work/SRC/openSUSE:Factory/.libpt2.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libpt2" Changes: -------- --- /work/SRC/openSUSE:Factory/libpt2/libpt2.changes 2015-05-10 10:54:22.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.libpt2.new/libpt2.changes 2016-05-31 12:09:55.000000000 +0200 @@ -1,0 +2,8 @@ +Tue May 24 21:05:57 UTC 2016 - [email protected] + +- Update to version 2.10.11: + + Bug fixes. +- Bump _version to 2_10_11. +- Add libpt2-2.10.11-gcc6.patch: Fix build against GCC 6.x + +------------------------------------------------------------------- Old: ---- ptlib-2.10.10.tar.xz New: ---- libpt2-2.10.11-gcc6.patch ptlib-2.10.11.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libpt2.spec ++++++ --- /var/tmp/diff_new_pack.qAqTfH/_old 2016-05-31 12:09:56.000000000 +0200 +++ /var/tmp/diff_new_pack.qAqTfH/_new 2016-05-31 12:09:56.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package libpt2 # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -23,10 +23,10 @@ Name: libpt2 %define _name ptlib -Version: 2.10.10 +Version: 2.10.11 Release: 0 # FIXME: when upgrading, check if the dc plugin builds with the current version of libdc1394. - Last check: 2.10.9 / 3.12.2012 -%define _version 2_10_10 +%define _version 2_10_11 Summary: Portable Windows Library from Equivalence Pty. Ltd. version 2 License: MPL-1.0 Group: System/Libraries @@ -42,6 +42,8 @@ Patch4: libpt2-bison-3.0.patch # PATCH-FIX-OPENSUSE libpt2-gcc5-fixes.patch [email protected] -- Fix build against GCC 5 Patch5: libpt2-gcc5-fixes.patch +# PATCH-FIX-OPENSUSE libpt2-2.10.11-gcc6.patch [email protected] -- Fix build against GCC 6 +Patch6: libpt2-2.10.11-gcc6.patch BuildRequires: SDL-devel BuildRequires: bison BuildRequires: cyrus-sasl-devel @@ -188,6 +190,7 @@ %patch3 -p1 %patch4 -p1 %patch5 -p1 +%patch6 -p1 %build export CXXFLAGS="%optflags -fvisibility-inlines-hidden" ++++++ libpt2-2.10.11-gcc6.patch ++++++ Index: ptlib-2.10.11/src/ptlib/unix/svcproc.cxx =================================================================== --- ptlib-2.10.11.orig/src/ptlib/unix/svcproc.cxx +++ ptlib-2.10.11/src/ptlib/unix/svcproc.cxx @@ -217,7 +217,7 @@ int PServiceProcess::InitialiseService() pid_t pid; { - ifstream pidfile(pidfilename); + ifstream pidfile((const char *)pidfilename); if (!pidfile.is_open()) { cout << "Could not open pid file: \"" << pidfilename << "\"" " - " << strerror(errno) << endl; @@ -384,7 +384,7 @@ int PServiceProcess::InitialiseService() // Run as a daemon, ie fork if (!pidfilename) { - ifstream pidfile(pidfilename); + ifstream pidfile((const char *)pidfilename); if (pidfile.is_open()) { pid_t pid; pidfile >> pid; @@ -412,7 +412,7 @@ int PServiceProcess::InitialiseService() cout << "Daemon started with pid " << pid << endl; if (!pidfilename) { // Write out the child pid to magic file in /var/run (at least for linux) - ofstream pidfile(pidfilename); + ofstream pidfile((const char *)pidfilename); if (pidfile.is_open()) pidfile << pid; else ++++++ ptlib-2.10.10.tar.xz -> ptlib-2.10.11.tar.xz ++++++ Files old/ptlib-2.10.10/configure.exe and new/ptlib-2.10.11/configure.exe differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/include/ptlib/videoio.h new/ptlib-2.10.11/include/ptlib/videoio.h --- old/ptlib-2.10.10/include/ptlib/videoio.h 2013-02-20 03:12:17.000000000 +0100 +++ new/ptlib-2.10.11/include/ptlib/videoio.h 2013-08-15 01:20:32.000000000 +0200 @@ -23,9 +23,9 @@ * * Contributor(s): Mark Cooke ([email protected]) * - * $Revision: 25752 $ + * $Revision: 29328 $ * $Author: rjongbloed $ - * $Date: 2011-05-11 21:50:32 -0500 (Wed, 11 May 2011) $ + * $Date: 2013-03-26 18:23:37 -0500 (Tue, 26 Mar 2013) $ */ @@ -86,6 +86,19 @@ ResizeMode resizeMode = eScale ); + /** Compare the two PVideoFrameInfo and return their relative rank. + This ranking is by the relative area of the frame resolution, and + frame rate if resolution equal. The final check for equality is on + the colourFormat. The SAR and resize mode take no part. + + @return + <code>LessThan</code>, <code>EqualTo</code> or <code>GreaterThan</code> + according to the relative rank of the objects. + */ + virtual Comparison Compare( + const PObject & obj // Object to compare against. + ) const; + /** Output the contents of the object to the stream. The exact output is dependent on the exact semantics of the descendent class. This is primarily used by the standard <code>#operator<<</code> function. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/plugins/vidinput_v4l2/vidinput_v4l2.cxx new/ptlib-2.10.11/plugins/vidinput_v4l2/vidinput_v4l2.cxx --- old/ptlib-2.10.10/plugins/vidinput_v4l2/vidinput_v4l2.cxx 2013-02-20 03:12:05.000000000 +0100 +++ new/ptlib-2.10.11/plugins/vidinput_v4l2/vidinput_v4l2.cxx 2013-08-15 01:20:28.000000000 +0200 @@ -30,9 +30,9 @@ * Contributor(s): Guilhem Tardy ([email protected]) * Nicola Orru' <[email protected]> * - * $Revision: 27739 $ - * $Author: rjongbloed $ - * $Date: 2012-05-30 18:49:09 -0500 (Wed, 30 May 2012) $ + * $Revision: 29220 $ + * $Author: ededu $ + * $Date: 2013-03-07 12:22:08 -0600 (Thu, 07 Mar 2013) $ */ #pragma implementation "vidinput_v4l2.h" @@ -219,9 +219,10 @@ canSetFrameRate = videoStreamParm.parm.capture.capability & V4L2_CAP_TIMEPERFRAME; if (canSetFrameRate) { if (videoStreamParm.parm.capture.timeperframe.numerator == 0) { - PTRACE(1,"PVidInDev\tnumerator is zero and denominator is " << videoStreamParm.parm.capture.timeperframe.denominator << ", driver bug??"); - } - PVideoDevice::SetFrameRate (videoStreamParm.parm.capture.timeperframe.denominator / videoStreamParm.parm.capture.timeperframe.numerator); + PTRACE(1,"PVidInDev\tDriver/webcam bug: numerator is zero and denominator is " << videoStreamParm.parm.capture.timeperframe.denominator << ", I assume it cannot set frame rate"); + canSetFrameRate = PFalse; + } else + PVideoDevice::SetFrameRate (videoStreamParm.parm.capture.timeperframe.denominator / videoStreamParm.parm.capture.timeperframe.numerator); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/revision.h.in new/ptlib-2.10.11/revision.h.in --- old/ptlib-2.10.10/revision.h.in 2013-02-20 03:13:52.000000000 +0100 +++ new/ptlib-2.10.11/revision.h.in 2013-08-15 01:20:33.000000000 +0200 @@ -1,5 +1,5 @@ -/* - * revision.h +/* + * revision.h * * SVN revision number header file for PTLib * @@ -22,7 +22,7 @@ * * Contributor(s): ______________________________________. * - * $Revision: 29149 $ + * $Revision: 30295 $ */ #ifndef _PTLib_REVISION_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/samples/safetest/overview.cxx new/ptlib-2.10.11/samples/safetest/overview.cxx --- old/ptlib-2.10.10/samples/safetest/overview.cxx 2013-02-20 03:12:23.000000000 +0100 +++ new/ptlib-2.10.11/samples/safetest/overview.cxx 2013-08-15 01:20:33.000000000 +0200 @@ -21,9 +21,9 @@ * * The author of this code is Derek J Smithies * * - * $Revision: 20385 $ - * $Author: rjongbloed $ - * $Date: 2008-06-04 05:40:38 -0500 (Wed, 04 Jun 2008) $ + * $Revision: 29154 $ + * $Author: ededu $ + * $Date: 2013-02-20 04:25:39 -0600 (Wed, 20 Feb 2013) $ */ /*! \mainpage Thread safe test of PSafeXXX @@ -42,9 +42,6 @@ \author Derek J Smithies -$Date: 2008-06-04 05:40:38 -0500 (Wed, 04 Jun 2008) $ - - \section secContents Contents \li \ref secClassListings diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/src/ptclib/httpsrvr.cxx new/ptlib-2.10.11/src/ptclib/httpsrvr.cxx --- old/ptlib-2.10.10/src/ptclib/httpsrvr.cxx 2013-02-20 03:12:00.000000000 +0100 +++ new/ptlib-2.10.11/src/ptclib/httpsrvr.cxx 2013-08-15 01:20:27.000000000 +0200 @@ -23,9 +23,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 25392 $ + * $Revision: 29189 $ * $Author: rjongbloed $ - * $Date: 2011-03-22 23:29:41 -0500 (Tue, 22 Mar 2011) $ + * $Date: 2013-03-03 18:06:07 -0600 (Sun, 03 Mar 2013) $ */ #include <ptlib.h> @@ -165,7 +165,7 @@ Node * par = node->parent; par->children.Remove(node); node = par; - } while (node != NULL && node->children.IsEmpty()); + } while (node->parent != NULL && node->children.IsEmpty()); } return PTrue; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/src/ptclib/pxmlrpc.cxx new/ptlib-2.10.11/src/ptclib/pxmlrpc.cxx --- old/ptlib-2.10.10/src/ptclib/pxmlrpc.cxx 2013-02-20 03:12:00.000000000 +0100 +++ new/ptlib-2.10.11/src/ptclib/pxmlrpc.cxx 2013-08-15 01:20:27.000000000 +0200 @@ -23,9 +23,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 26221 $ + * $Revision: 29134 $ * $Author: rjongbloed $ - * $Date: 2011-07-18 04:44:52 -0500 (Mon, 18 Jul 2011) $ + * $Date: 2013-02-17 16:19:52 -0600 (Sun, 17 Feb 2013) $ */ // This depends on the expat XML library by Jim Clark @@ -727,7 +727,7 @@ } if (param == NULL) - return PFalse; + return NULL; for (i = 0; i < param->GetSize(); i++) { PXMLObject * parm = param->GetElement(i); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/src/ptlib/common/videoio.cxx new/ptlib-2.10.11/src/ptlib/common/videoio.cxx --- old/ptlib-2.10.10/src/ptlib/common/videoio.cxx 2013-02-20 03:11:52.000000000 +0100 +++ new/ptlib-2.10.11/src/ptlib/common/videoio.cxx 2013-08-15 01:20:26.000000000 +0200 @@ -23,9 +23,9 @@ * * Contributor(s): Mark Cooke ([email protected]) * - * $Revision: 25752 $ + * $Revision: 29328 $ * $Author: rjongbloed $ - * $Date: 2011-05-11 21:50:32 -0500 (Wed, 11 May 2011) $ + * $Date: 2013-03-26 18:23:37 -0500 (Tue, 26 Mar 2013) $ */ #ifdef __GNUC__ @@ -205,6 +205,26 @@ } +PObject::Comparison PVideoFrameInfo::Compare(const PObject & obj) const +{ + const PVideoFrameInfo & other = dynamic_cast<const PVideoFrameInfo &>(obj); + + unsigned area = frameWidth*frameHeight; + unsigned otherArea = other.frameWidth*other.frameHeight; + if (area < otherArea) + return LessThan; + if (area > otherArea) + return GreaterThan; + + if (frameRate < other.frameRate) + return LessThan; + if (frameRate > other.frameRate) + return GreaterThan; + + return colourFormat.Compare(other.colourFormat); +} + + void PVideoFrameInfo::PrintOn(ostream & strm) const { if (!colourFormat.IsEmpty()) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/src/ptlib/msos/directshow.cxx new/ptlib-2.10.11/src/ptlib/msos/directshow.cxx --- old/ptlib-2.10.10/src/ptlib/msos/directshow.cxx 2013-02-20 03:11:49.000000000 +0100 +++ new/ptlib-2.10.11/src/ptlib/msos/directshow.cxx 2013-08-15 01:20:25.000000000 +0200 @@ -30,9 +30,9 @@ * * Contributor(s): ______________________________________. * - * $Revision: 27570 $ + * $Revision: 29384 $ * $Author: ededu $ - * $Date: 2012-05-03 10:00:22 -0500 (Thu, 03 May 2012) $ + * $Date: 2013-03-28 22:58:24 -0500 (Thu, 28 Mar 2013) $ */ @@ -40,6 +40,7 @@ #ifdef P_DIRECTSHOW +#include <set> #include <ptlib/videoio.h> #include <ptlib/vconvert.h> @@ -391,69 +392,6 @@ void operator=(const MediaTypePtr &) { } }; -////////////////////////////////////////////////////////////////////////////////////////////////// -// Bubble Sorting functions -// This is used to sort the video frame sizes from largest to smallest (removing duplicates) -// The optimum frame size can be selected by sorting down the list for a given bandwidth. -// If there is a better way to do this then great but it very important in order the framesizes. - SH - -class PVideoFrameInfoSort -{ - public: - bool operator()(PVideoFrameInfo* const& f1, PVideoFrameInfo* const& f2) - { - if (f1->GetFrameWidth() > f2->GetFrameWidth()) - return true; - if (f1->GetFrameWidth() == f2->GetFrameWidth() && f1->GetFrameHeight() > f2->GetFrameHeight()) - return true; - return false; - } -}; - -class PVideoFrameInfoMatch -{ - public: - bool operator()(PVideoFrameInfo*& f1, PVideoFrameInfo*& f2) - { - return (f1->GetFrameWidth() == f2->GetFrameWidth()) && - (f1->GetFrameHeight() == f2->GetFrameHeight()); - } -}; - -class PVideoFrameInfoArray : public std::vector<PVideoFrameInfo*> -{ - public: - ~PVideoFrameInfoArray() - { - for (iterator pItem=begin(); pItem != end(); ++pItem) - delete *pItem; - } - - void ReIndex() - { - sort(begin(), end(), PVideoFrameInfoSort()); - unique(begin(), end(), PVideoFrameInfoMatch()); - - unsigned lastWidth = P_MAX_INDEX; - int pos = 0; - iterator r = begin(); - while (r != end()) { - const PVideoFrameInfo* frame = *r; - if (frame->GetFrameWidth() > lastWidth) - break; - lastWidth = frame->GetFrameWidth(); - ++pos; ++r; - } - - int sz = size(); - PINDEX i = sz-1; - while (i > pos-1) { - erase(begin()+i); - --i; - } - } -}; - ////////////////////////////////////////////////////////////////////////////////////////////////// // Input device @@ -510,7 +448,8 @@ return false; } - PVideoFrameInfoArray fsizes; + // Set is ordered large to small, and unique + std::set<PVideoFrameInfo, std::greater<PVideoFrameInfo> > fsizes; for (int iFormat = 0; iFormat < iCount; iFormat++) { MediaTypePtr pMediaFormat; if (SUCCEEDED(pStreamConfig->GetStreamCaps(iFormat, &pMediaFormat, (BYTE *)&scc)) && @@ -518,21 +457,19 @@ pMediaFormat->formattype == FORMAT_VideoInfo && pMediaFormat->pbFormat != NULL && pMediaFormat->cbFormat >= sizeof(VIDEOINFOHEADER)) - fsizes.push_back(new PVideoFrameInfo(scc.MaxOutputSize.cx, - scc.MaxOutputSize.cy, - GUID2Format(pMediaFormat->subtype), - 10000000/(unsigned)scc.MinFrameInterval)); + fsizes.insert(PVideoFrameInfo(scc.MaxOutputSize.cx, + scc.MaxOutputSize.cy, + GUID2Format(pMediaFormat->subtype), + 10000000/(unsigned)scc.MinFrameInterval)); } if (fsizes.empty()) return false; // Sort so we have unique sizes from largest to smallest - fsizes.ReIndex(); - caps->framesizes.clear(); - for (std::vector<PVideoFrameInfo*>::iterator it = fsizes.begin(); it != fsizes.end(); ++it) { - PTRACE(5, "DShow\tFormat["<< caps->framesizes.size() << "] = (" << **it); - caps->framesizes.push_back(**it); + for (std::set<PVideoFrameInfo, std::greater<PVideoFrameInfo> >::iterator it = fsizes.begin(); it != fsizes.end(); ++it) { + PTRACE(5, "DShow\tFormat["<< caps->framesizes.size() << "] = " << *it); + caps->framesizes.push_back(*it); } #ifndef _WIN32_WCE @@ -1713,7 +1650,8 @@ { CSampleGrabberCB * cb = (CSampleGrabberCB *)&*m_pSampleGrabberCB; - if (!cb->frameready.Wait(2000)) { + // Live! Cam Optia AF (VC0100) webcam took 3.1 sec. + if (!cb->frameready.Wait(5000)) { PTRACE(1, "DShow\tTimeout awaiting next frame"); return false; } Files old/ptlib-2.10.10/svn_getrev.exe and new/ptlib-2.10.11/svn_getrev.exe differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/ptlib-2.10.10/version.h new/ptlib-2.10.11/version.h --- old/ptlib-2.10.10/version.h 2013-02-20 03:12:27.000000000 +0100 +++ new/ptlib-2.10.11/version.h 2013-08-15 01:20:33.000000000 +0200 @@ -36,7 +36,7 @@ #define MAJOR_VERSION 2 #define MINOR_VERSION 10 #define BUILD_TYPE ReleaseCode -#define BUILD_NUMBER 10 +#define BUILD_NUMBER 11 #endif // _PTLib_VERSION_H
