After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 558382 - Issues with H.264 pipes
Issues with H.264 pipes
Status: RESOLVED OBSOLETE
Product: ekiga
Classification: Applications
Component: OPAL
3.0.x
Other Linux
: Normal minor
: ---
Assigned To: Ekiga maintainers
Ekiga maintainers
Depends on:
Blocks:
 
 
Reported: 2008-10-29 12:13 UTC by Matthias Schneider
Modified: 2011-09-05 17:22 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24



Description Matthias Schneider 2008-10-29 12:13:44 UTC
Some system exhibit strange behaviour with the pipes created by the H.264 codec plugin for communication between the codec plugin and the gpl'ed process. 

The pipes are successfully created, one message is sent downstream and the corresponding answer upstream:

        dyna.cxx(111)	H264	DYNA	Successfully loaded 'libavcodec.so.51'
        dyna.cxx(331)	H264	DYNA	Successfully loaded libavcodec library and verified functions
h264pipe_unix.cxx(301)	H264	IPC	PP: Found GPL process executable in  /usr/local/lib/opal-3.4.2/codecs/video/h264_video_pwplugin_helper
x264loader_unix.cxx(114)	H264	DYNA	Trying to open x264 library libx264.so.58
x264loader_unix.cxx(131)	H264	DYNA	Successfully loaded libx264.so.58
x264loader_unix.cxx(103)	H264	DYNA	Loader was compiled with x264 build 58 present
x264loader_unix.cxx(106)	H264	DYNA	Successfully loaded libx264 library and verified functions
h264pipe_unix.cxx(118)	H264	IPC	PP: Successfully forked child process 4584 and established communication
   h264-x264.cxx(853)	H264	Codec	Enabled

Then, when the codec shall be initialized, these pipes are no longer working:

...
2008/10/23 16:25:40.952	  0:50.902	  Aggregator:0xb59c4b90	OpalMan	OnOpenMediaStream Call[v42d5049a1]-EP<pc>[1],OpalVideoMediaStream-Source-YUV420P
2008/10/23 16:25:40.953	  0:50.902	  Aggregator:0xb59c4b90	OpalCon	Opened source stream v42d5049a1_2 with format YUV420P
2008/10/23 16:25:40.953	  0:50.902	  Aggregator:0xb59c4b90	Call	IsMediaBypassPossible Call[v42d5049a1]-EP<sip>[06852b1c-7c9f-dd11-9b2e-000acd0bee38@skumach] session 2
2008/10/23 16:25:40.953	  0:50.902	  Aggregator:0xb59c4b90	OpalMan	IsMediaBypassPossible: session 2
2008/10/23 16:25:40.953	  0:50.902	  Aggregator:0xb59c4b90	OpalCon	IsMediaBypassPossible: default returns false
2008/10/23 16:25:40.953	  0:50.902	  Aggregator:0xb59c4b90	RTP	Found existing session 2
2008/10/23 16:25:40.954	  0:50.903	  Aggregator:0xb59c4b90	OpalMan	OnOpenMediaStream Call[v42d5049a1]-EP<sip>[06852b1c-7c9f-dd11-9b2e-000acd0bee38@skumach],OpalRTPMediaStream-Sink-H.264
2008/10/23 16:25:40.954	  0:50.903	  Aggregator:0xb59c4b90	OpalCon	Opened sink stream v42d5049a1_2 with format H.264
2008/10/23 16:25:40.954	  0:50.903	  Aggregator:0xb59c4b90	Patch	Set rate control from format H.264, bitrate=600000, rate control=1, window=500
2008/10/23 16:25:40.954	  0:50.903	  Aggregator:0xb59c4b90	Patch	Created Sink: format=H.264
h264pipe_unix.cxx(234)	H264	IPC	PP: Failure on reading - terminating
h264pipe_unix.cxx(221)	H264	IPC	PP: Error when closing UL named pipe
h264pipe_unix.cxx(236)	H264	IPC	PP: Received EOF - terminating
2008/10/23 16:25:40.957	  0:50.906	  Aggregator:0xb59c4b90	OpalPlugin	Setting encoder options:
...
Comment 1 Matthias Schneider 2008-10-29 12:14:10 UTC
More detailed log at 
ftp://quacka.no-ip.org/pub/log_head
Comment 2 Matthias Schneider 2008-10-29 12:17:20 UTC
Palo S. reports the following:

works under 2.6.23.1-42.fc8.i686 
does not work under 2.6.25.6-55.fc9.i686

when installing 2.6.23.1-42.fc8 on the machine where it did not work, it still does not work
Comment 3 palos 2008-10-29 22:43:03 UTC
I have narrowed it down to gcc version:
- Ekiga compiled with gcc-4.3.0-8.i386 from F9 - bug
- Ekiga compiled with compat-gcc-34-3.4.6-9.i386 from F9 - works
- Ekiga compiled with gcc 4.1.2 - works
I can reproduce this on two machines running F9 with all kernels that I tried.
Comment 4 Matthias Schneider 2008-10-30 06:50:14 UTC
It works here with linux-2.6.26 from kernel.org and the following gcc 4.3.1:

Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.1-4' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-targets=all --enable-cld --enable-checking=release --build=i486-linux-gnu --host=i486-linux-gnu --target=i486-linux-gnu
Thread model: posix
gcc version 4.3.1 (Debian 4.3.1-4)
Comment 5 Eugen Dedu 2008-10-30 08:27:34 UTC
h264 works here too.  linux-2.6.26 from debian and gcc 4.3.2:
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Debian 4.3.2-1' --with-bugurl=file:///usr/share/doc/gcc-4.3/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.3 --program-suffix=-4.3 --enable-clocale=gnu --enable-libstdcxx-debug --enable-objc-gc --enable-mpfr --enable-cld --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.3.2 (Debian 4.3.2-1)
Comment 6 palos 2008-10-30 19:39:44 UTC
Here are the specs of the problematic gcc:
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-cpu=generic --build=i386-redhat-linux
Thread model: posix
gcc version 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC)

And here is the one that worked ok:
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.6/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,f77 --disable-libgcj --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.6 20060404 (Red Hat 3.4.6-9)
Comment 7 palos 2008-10-30 21:26:03 UTC
Installed gcc-4.3.2 from rawhide - H264 works:
Target: i386-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --enable-plugin --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-cpu=generic --build=i386-redhat-linux
Thread model: posix
gcc version 4.3.2 20081007 (Red Hat 4.3.2-6) (GCC)

Just to make sure I downgraded to gcc-4.3.0 but yes, I can still reproduce the problem with this version. So it may be just 4.3.0 specific problem that has been fixed in 4.3.1 (tried to look at gcc changes but not very clever from that). Matthias, which gcc version was used by the user you mention in the opening comment?
Comment 8 Eugen Dedu 2011-09-05 17:22:53 UTC
Closing this old bug very probably fixed in the meantime.