[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F... |
Date: |
Sat, 24 May 2008 22:03:33 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 08/05/24 22:03:32
Modified files:
. : ChangeLog
libbase : FLVParser.cpp FLVParser.h
server/asobj : NetStreamFfmpeg.cpp NetStreamFfmpeg.h
Log message:
* libbase/FLVParser.{cpp,h}: re-add nextMediaFrame as it's still
used by current NetStreamFfmpeg.
* server/asobj/NetStreamFfmpeg.{cpp,h}: re-add m_start_onbuffer, still
used by current NetStreamFfmpeg.
Fixes bug #23346.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6700&r2=1.6701
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/FLVParser.cpp?cvsroot=gnash&r1=1.39&r2=1.40
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/FLVParser.h?cvsroot=gnash&r1=1.30&r2=1.31
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.cpp?cvsroot=gnash&r1=1.133&r2=1.134
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamFfmpeg.h?cvsroot=gnash&r1=1.68&r2=1.69
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6700
retrieving revision 1.6701
diff -u -b -r1.6700 -r1.6701
--- ChangeLog 24 May 2008 21:42:35 -0000 1.6700
+++ ChangeLog 24 May 2008 22:03:32 -0000 1.6701
@@ -1,3 +1,11 @@
+2008-05-24 Sandro Santilli <address@hidden>
+
+ * libbase/FLVParser.{cpp,h}: re-add nextMediaFrame as it's still
+ used by current NetStreamFfmpeg.
+ * server/asobj/NetStreamFfmpeg.{cpp,h}: re-add m_start_onbuffer, still
+ used by current NetStreamFfmpeg.
+ Fixes bug #23346.
+
2008-05-24 Bastiaan Jacques <address@hidden>
* server/matrix.cpp: Use std::max instead of fmax to fix build on BSD
Index: libbase/FLVParser.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/FLVParser.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -b -r1.39 -r1.40
--- libbase/FLVParser.cpp 23 May 2008 16:48:11 -0000 1.39
+++ libbase/FLVParser.cpp 24 May 2008 22:03:32 -0000 1.40
@@ -696,6 +696,69 @@
return _lt.get_size();
}
+FLVFrame* FLVParser::nextMediaFrame()
+{
+ boost::uint32_t video_size = _videoFrames.size();
+ boost::uint32_t audio_size = _audioFrames.size();
+
+ if (audio_size <= _nextAudioFrame && video_size <= _nextVideoFrame)
+ {
+
+ // Parse a media frame if any left or if needed
+ while(_videoFrames.size() <= _nextVideoFrame &&
_audioFrames.size() <= _nextAudioFrame && !_parsingComplete) {
+ if (!parseNextTag()) break;
+ }
+ }
+
+ // Find the next frame in the file
+ bool audioReady = _audioFrames.size() > _nextAudioFrame;
+ bool videoReady = _videoFrames.size() > _nextVideoFrame;
+ bool useAudio = false;
+
+ if (audioReady && videoReady) {
+ useAudio = _audioFrames[_nextAudioFrame]->dataPosition <
_videoFrames[_nextVideoFrame]->dataPosition;
+ } else if (!audioReady && videoReady) {
+ useAudio = false;
+ } else if (audioReady && !videoReady) {
+ useAudio = true;
+ } else {
+ // If no frames are next we have reached EOF
+ return NULL;
+ }
+
+ // Find the next frame in the file a return it
+
+ if (useAudio) {
+
+ FLVAudioFrameInfo* frameInfo = _audioFrames[_nextAudioFrame];
+
+ std::auto_ptr<FLVFrame> frame = makeAudioFrame(_lt, *frameInfo);
+ if ( ! frame.get() )
+ {
+ log_error("Could not make audio frame %d",
_nextAudioFrame);
+ return 0;
+ }
+
+ _nextAudioFrame++;
+ return frame.release(); // TODO: return by auto_ptr
+
+ } else {
+
+ FLVVideoFrameInfo* frameInfo = _videoFrames[_nextVideoFrame];
+ std::auto_ptr<FLVFrame> frame = makeVideoFrame(_lt, *frameInfo);
+ if ( ! frame.get() )
+ {
+ log_error("Could not make video frame %d",
_nextVideoFrame);
+ return 0;
+ }
+
+ _nextVideoFrame++;
+ return frame.release(); // TODO: return by auto_ptr
+ }
+
+
+}
+
} // end of gnash namespace
#undef PADDING_BYTES
Index: libbase/FLVParser.h
===================================================================
RCS file: /sources/gnash/gnash/libbase/FLVParser.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -b -r1.30 -r1.31
--- libbase/FLVParser.h 23 May 2008 16:48:11 -0000 1.30
+++ libbase/FLVParser.h 24 May 2008 22:03:32 -0000 1.31
@@ -210,6 +210,12 @@
/// Kills the parser...
~FLVParser();
+ /// Return next media frame
+ //
+ /// Locks the _mutex
+ ///
+ FLVFrame* nextMediaFrame();
+
/// \brief
/// Return the next audio frame info in the parsed buffer.
//
Index: server/asobj/NetStreamFfmpeg.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.cpp,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -b -r1.133 -r1.134
--- server/asobj/NetStreamFfmpeg.cpp 22 May 2008 11:30:17 -0000 1.133
+++ server/asobj/NetStreamFfmpeg.cpp 24 May 2008 22:03:32 -0000 1.134
@@ -85,6 +85,7 @@
m_current_timestamp(0),
m_unqueued_data(NULL),
m_time_of_pause(0),
+ m_start_onbuffer(false),
_decoderBuffer(0),
_soundHandler(get_sound_handler())
Index: server/asobj/NetStreamFfmpeg.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamFfmpeg.h,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -b -r1.68 -r1.69
--- server/asobj/NetStreamFfmpeg.h 23 May 2008 05:58:09 -0000 1.68
+++ server/asobj/NetStreamFfmpeg.h 24 May 2008 22:03:32 -0000 1.69
@@ -314,6 +314,8 @@
// Time of when pause started, in seconds since VM started
volatile boost::uint64_t m_time_of_pause;
+ bool m_start_onbuffer;
+
// Decoder buffer
boost::uint8_t* _decoderBuffer;
- [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F..., Sandro Santilli, 2008/05/09
- [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F..., Sandro Santilli, 2008/05/11
- [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F..., Sandro Santilli, 2008/05/11
- [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F..., Sandro Santilli, 2008/05/12
- [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F..., Sandro Santilli, 2008/05/12
- [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F..., Sandro Santilli, 2008/05/23
- [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F...,
Sandro Santilli <=
- [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp libbase/F..., Sandro Santilli, 2008/05/27