patchGnash - The GNU Flash player - Patches: patch #8086, RTMP netStream patch

 
 

You are not allowed to post comments on this tracker with your current authentification level.

patch #8086: RTMP netStream patch

Submitted by:  George Thomas <georgethomas>
Submitted on:  Fri Jun 21 16:22:06 2013  
 
Category: corePriority: 2
Status: DonePrivacy: Public
Assigned to: George Thomas <georgethomas>Open/Closed: Closed

(Jump to the original submission Jump to the original submission)

Sat Sep 14 08:15:33 2013, comment #43:

Patch and subsequent pull requests + few tweaks of mine all squashed and pushed in master as this:

http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=f246e38aa4723afe397b23f52b489391a17419b5

Sandro Santilli <strk>
Project Member
Sat Sep 14 06:27:02 2013, comment #42:

Created a pull request in your branch for the the updates. As you mentioned, I removed the access to rtmp from NetStream and moved it to getStream in Netconnection.

Also created the pull request to your branch.

https://github.com/strk/gnash/pull/1

(file #29131)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Fri Sep 6 14:16:19 2013, comment #41:

I think the place you can access NetConnection._rtmp is NetConnection_as::getStream. It's just a matter of getting all required argument, if the resource name is not enough.

I don't think Connection and subclasses are currently used for streaming media at all (rather than just for AMF communication).

Sandro Santilli <strk>
Project Member
Fri Sep 6 13:55:03 2013, comment #40:

This logically looks like a mistake but I am also surprised it is working.

The rtmp object has a Socket attribute assosciated with it which is handling the writing to the network.
The rtmp.call() creates the packet and writes to the socket.

But I am surprised the initialization takes place at _rtmp.connect() which gets called at the
time of creation of connection. Ideally the objects used should be the same.

An error is seen in the logs.
ERROR: Socket send error Socket operation on non-socket

The problem in using the same object is that RTMPConnection is the one having the rtmp object. So I believe the play method functionality also should go there.

The situation is like this

RTMPConnection(_rtmp object is present there)/HTTPConnection ---> Connection
NetConnection_as uses (Connection)
NetStream_as (has NetConnection as its member)

So the problem is the accessing the _rtmp object in NetConnection from NetStream.

The docs for Connection class says

/// Abstract connection handler class
//
/// This class abstract operations on network connections,
/// specifically RPC and streams fetching.
class Connection : boost::noncopyable
{
.....

So is this not the right place to have the play method as well?

netstream_play is the entry point for netstream from the actionscript as I understand it. And this is from where the play of the netStream is actually called.

George Thomas <georgethomas>
Project MemberIn charge of this item.
Fri Sep 6 11:41:57 2013, comment #39:

I also have to admit I don't understand the rtmp::RTMP class, how does simply defining an instance of that class (with no parameters to the constructor) and calling .call(buf) on it know where to send the data ?

I'm talking about this snippet of code:

std::vector<as_value> args;
SimpleBuffer buf;
rtmp::RTMP rtmpObj;
args = std::vector<as_value>(fn.getArgs().begin(),
fn.getArgs().end());
amf::Writer aw(buf);
aw.writeString("play");
aw.writeNumber(0);
aw.writeNull();
for (size_t i = 0; i < args.size(); ++i)
{
args[i].writeAMF0(aw);
}
// TODO Use the play method and the streamId from createStream
rtmpObj.call(buf);

What does RTMP.call do, exactly ?

Sandro Santilli <strk>
Project Member
Fri Sep 6 11:39:31 2013, comment #38:

Things could be moved incrementally.
For a start the RTMP handling could be moved awan from netstream_play and into NetStream::play, which if I read your code correctly seems to possibly need a different signature (you are accepting an arbitrary set of arguments in the AS NetStream.play method).

What I mean is that NetStream itself could be already the abstraction you're looking for, but needs to be defined in a proper way.

Couldn't the RTMP specific code be in NetConnection::getStream, for example ? Is it in netstream_play only to deal with the multiple-arguments or is there any other reason ?

Sandro Santilli <strk>
Project Member
Fri Sep 6 11:30:00 2013, comment #37:

> My idea was to have StreamProvider support RTMP directly, having an RTMP-based subclass of IOChannel.


Currently the streaming is working with libcurl networkadapter which returns an IOChannel

Unlike http here we make a connection and then, we can use it to create multiple streams. So after connection is made with a base url, different streams can be made.

eg connecting to avatar.flv, toystory.flv once connected.

The play command gets only the filenames as argument. So for rtmp, inorder to use the stream, the url needs to the added before the argument.

As the NetStream does not have a generic connection object like the one in NetConnection, I used isRTMP() and took different steps for both.

Ideally should I be having a generic stream with class httpStream and rtmpStream as its derived classes with methods play() , close(), pause() etc ?

George Thomas <georgethomas>
Project MemberIn charge of this item.
Thu Sep 5 12:07:41 2013, comment #36:

My idea was to have StreamProvider support RTMP directly, having an RTMP-based subclass of IOChannel. I haven't really looked at your code to see how close your approach is to that.

Sandro Santilli <strk>
Project Member
Thu Sep 5 11:32:22 2013, comment #35:

> Now, before rebasing/squashing and putting to master, what about hiding the RTMP stuff away from NetStream_as.cpp ?


This was something I thought of. Like the way connection is abstracted between http and rtmp. Streaming should also be abstracted. Would this require refactoring http as well ?

> It would also be excellent to have another test checking actual decoding, like NetStream-SquareTest.swf, only doing RTMP.

It may even be possible to use the same test, extending it, only problem is that the RTMP part should only run when activated..

This looks a really good test case I will check how it works for the time being.

George Thomas <georgethomas>
Project MemberIn charge of this item.
Thu Sep 5 11:04:20 2013, comment #34:

Perfect, patch committed to the branch.

Now, before rebasing/squashing and putting to master, what about hiding the RTMP stuff away from NetStream_as.cpp ?

It would also be excellent to have another test checking actual decoding, like NetStream-SquareTest.swf, only doing RTMP.
It may even be possible to use the same test, extending it, only problem is that the RTMP part should only run when activated..

Let me know if you plan to work some more on this, or I'll put to master in its current incarnation, which is already very good!

Sandro Santilli <strk>
Project Member
Thu Sep 5 10:39:50 2013, comment #33:

Shifted the testcase to use square.flv and it is working fine for me with gnashdev. Also modified the testcase to get invokesd as per onMetaData rather than onStatus.

Checked out your branch the patch(attached) is on that.

(file #29011)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Wed Sep 4 22:15:00 2013, comment #32:

> The square.flv has an onMetaData meta-tag, which is supposed
> to invoke the "onMetaData" function when parsed.


Added link to square.flv among demos.

Gabriele Giacone <gg0>
Project Member
Wed Sep 4 21:41:26 2013, comment #31:

FYI: I've pushed the patches so far on a github branch
https://github.com/strk/gnash/tree/master-rtmp-netstream-p8086

Hopefully it'll help further modifications
I haven't applied the last temporary fix (no rush, better fix once for good)

Sandro Santilli <strk>
Project Member
Wed Sep 4 20:43:18 2013, comment #30:

Consider looking at http://code.google.com/p/flvmeta/
Existing FLV we have are in testsuite/media
The square.flv has an onMetaData meta-tag, which is supposed to invoke the "onMetaData" function when parsed.

Sandro Santilli <strk>
Project Member
Wed Sep 4 17:47:11 2013, comment #29:

Thank you :)

The failiures look to be because of malformed play I had a fix but when ran with it, got some driver issues with mp3.

I am just attaching the patch not the complete one (oflaDemo.patch) A temporary fix.

I will fix the local issues and then rewrite the testcase.

>Is there any possibility to inject a notification into the FLV >to use as the event triggering further tests ? I know >notifications in FLV are expected to work with HTTP streaming...


I am actually not sure where to get started to get this one. Also about how to create the flvs. If we are able to create an flv of paticular size, length and frequency that can then be used as the testcase.

(file #29006)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Wed Sep 4 17:26:02 2013, comment #28:

The .flv files listed below do all exist in the Red5 installation on gnashdev.org.

Rob Savoye <rsavoye>
Project Administrator
Wed Sep 4 13:08:20 2013, comment #27:

All failures on make check (for the record):

--=[ testsuite/misc-ming.all ]=--
FAIL: oflaDemo-runner: netStream.bufferLength > 0 [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:44]
FAIL: oflaDemo-runner: netStream.time > 0 [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:47]
FAIL: oflaDemo-runner: consistency check: last trace from run of test oflaDemo.swf (Connecting to rtmp://www.gnashdev.org:1935/oflaDemo) doesn't match pattern (ENDOFTEST)

Sandro Santilli <strk>
Project Member
Wed Sep 4 11:23:14 2013, comment #26:

Besides, I just wanted to mention that with your patch gnash is able to play the stream, that's very good ! :)

I hope we'll be able to set the test in place so that the patch can finally land to destination. Keep up the good work !

Sandro Santilli <strk>
Project Member
Wed Sep 4 11:15:36 2013, comment #25:

The test passes with the proprietary player here (now that I'm on a good connection).

Running it with gtk-gnash triggers a single unexpected failure here, being check(netStream.time > 0) on line 47. Time dependent test results, most likely.

Running it with the oflaDemo-runner is somewhat worst, probably due to the time-dependent test results being to an extreem since we don't sleep at all between heartbeats with gprocessor.

Is there any possibility to inject a notification into the FLV to use as the event triggering further tests ? I know notifications in FLV are expected to work with HTTP streaming...

Sandro Santilli <strk>
Project Member
Wed Sep 4 09:39:53 2013, comment #24:

I have updateded the patch to use spaces only and done some changes to some of the contents. Patch(oflaDemo.patch) attached.

(file #29004)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Tue Sep 3 15:49:32 2013, comment #23:

currentFps doesn't return "true", but you're checking for !currentFps, which evidently evaluates to true (currentFps is indeed 0 here). About version, can't you try using the online host ?

About Buffer.Full I don't really know what the expected behavior is. In any case currentFps is 0 also on Buffer.Full here...

Final thing: I see there's a mix of spaces and tab indenting in the oflaDemo.as file, please use a single type, you choose which :)

Sandro Santilli <strk>
Project Member
Tue Sep 3 13:44:14 2013, comment #22:

The Xfail could be an issue with the server version as well. The currentfps property should not be returning true as it makes no sense to me.

I was using a later version of red5 and it was running fine.

George Thomas <georgethomas>
Project MemberIn charge of this item.
Tue Sep 3 13:15:58 2013, comment #21:

Using buffer.Full should work but when videos are streamed, is it compulsory that buffer would become full for all the videos? I could think of situation where the contents of the buffer are always consumed that it will never get full. In case of streaming is that case unlikely ?

That was the reason I had a timeout after start of Netsteam.Play.Start

George Thomas <georgethomas>
Project MemberIn charge of this item.
Tue Sep 3 12:48:23 2013, comment #20:

I still get an XFAILED with the PP 10,0,12,10 LNX

Running tests for NetStream.
Running test1
NetStream.Play.Reset
status
NetStream.Play.Start
status
Time :0.042
XFAILED: expected: '0' obtained: true [oflaDemo.as:48]

The Buffer.Full event arrives after the end-of-test signature is printed:

#passed: 11
#failed: 0
#unexpected successes: 5
#expected failures: 1
#total tests run: 17
ENDOFTEST
NetStream.Buffer.Full
status

Should the Buffer.Full event trigger running last tests instead ?

Sandro Santilli <strk>
Project Member
Tue Sep 3 11:24:07 2013, comment #19:

Attaching a newer version of my patch which works for proprietry player.

I found some issues when tried with "gnashdev.org" I will fix and update that soon.

(file #28990)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Tue Sep 3 10:26:58 2013, comment #18:

> Could you please check and let me know the files present in the
> directory <red5installationpatch>/webapps/oflaDemo/streams in
> the gnashdev server. I can correct the testcase to work with it
> in that case.


avatar.flv
avatar.flv.meta
avatar-vp6.flv
toystory3.flv
toystory3.flv.meta
toystory3-vp6.flv

Gabriele Giacone <gg0>
Project Member
Tue Sep 3 09:52:55 2013, comment #17:

Rob, can you take care of this ? Or does anyone else have access to the machine ?

Sandro Santilli <strk>
Project Member
Mon Sep 2 18:11:33 2013, comment #16:

Sorry I was using the localhost version of the oflaDemo for the test till now. So guess that was the buffer got full so fast :)

I was looking at
http://gnashdev.org:5080/demos/ofla_demo.html

The library does not seem to have the file we are looking for. (hobbit_vp6)

I got the error saying the stream was not found in the server.

The following are logs from my gnash version.
3051:1] 7619 DEBUG: CurlStreamFile 0xb47b15c0 deleted
3051:1] 7620 ERROR: Unable to create parser for NetStream input
3051:1] 7620 ERROR: NetStream.play(hobbit_vp6): failed starting playback
3051:1] 7644 DEBUG: Received <bytes read packet>

3051:1] 7644 TRACE: NetStream.Play.StreamNotFound

Could you please check and let me know the files present in the directory <red5installationpatch>/webapps/oflaDemo/streams in the gnashdev server. I can correct the testcase to work with it in that case.

Also attaching the flv file and a meta data file which is found in the version of red5 I had installed.

(file #28980)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Mon Sep 2 16:47:11 2013, comment #15:

Uhm, the test never completes for me, I guess it never gets a Buffer.Full event ?
Debugging output doesn't show anything interesting.
Are you using rtmp://www.gnashdev.org:1935/oflaDemo as well ?
What operating system are you running the proprietary player on ?
Can you attach the oflaDemo.swf file just in case differences in Ming version affect this ?

Sandro Santilli <strk>
Project Member
Mon Sep 2 15:58:24 2013, comment #14:

I used a check for event code "NetStream.Buffer.Full" and it is working for me without issues. I have attached a patch with the change.

(file #28979)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Mon Sep 2 14:50:24 2013, comment #13:

It may very well be a time-related issue, as I'm on a slow network right now. Any chance to remove the time dependent component from the test ? Like, is there any event that NetStream should be sending when data starts getting down ?

Sandro Santilli <strk>
Project Member
Mon Sep 2 14:38:29 2013, comment #12:

I tried the testcase using the flah player and did not recieve any failures.

The version of flashplayer used was
9,0,262,0

The logs recieved were as follows.

Should I be testing in some other version ?

Also the play function is using a video play url 'hobbit_vp6'. If that play path is not available in the red5 server you tried with, this error can occur.

PASSED: RTMP connection - status Success
Running tests for NetStream.
Running test1
PASSED: typeof(netStream) == 'object' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:56]
XPASSED: typeof(netStream.audiocodec) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:59]
XPASSED: typeof(netStream.videocodec) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:60]
XPASSED: typeof(netStream.decodedFrames) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:61]
PASSED: typeof(netStream.bytesTotal) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:62]
PASSED: typeof(netStream.bytesLoaded) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:63]
XPASSED: typeof(netStream.liveDelay) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:64]
PASSED: typeof(netStream.bufferLength) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:65]
PASSED: typeof(netStream.bufferTime) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:66]
PASSED: typeof(netStream.currentFps) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:67]
PASSED: typeof(netStream.time) == 'number' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:68]
Checking after some time
PASSED: ! netStream.bufferLength == '0' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:45]
PASSED: netStream.bufferTime == '3' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:46]
XPASSED: ! netStream.decodedFrames == '0' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:47]
PASSED: ! netStream.time == '0' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:48]
XPASSED: ! netStream.currentFps == '0' [../../../gnash/testsuite/misc-ming.all/oflaDemo.as:49]
#passed: 11
#failed: 0
#unexpected successes: 6
#total tests run: 17
ENDOFTEST

George Thomas <georgethomas>
Project MemberIn charge of this item.
Mon Sep 2 13:47:36 2013, comment #11:

I see those tests look weird, maybe there are typos ?

check_equals( ! netStream.currentFps, 0 )

Did you mean

check_equals ( netStream.currentFps, 0 ) ?

Or:

check ( ! netStream.currentFps ) ?

Or even:

check ( netStream.currentFps > 0 )

Sandro Santilli <strk>
Project Member
Mon Sep 2 13:31:11 2013, comment #10:

I still get 4 failures with the proprietary player:

SWF7 - LNX 10,0,12,10

[red5test.as - <bzr revno here> master-rtmp-netstream-p8086-bis-21872-8302351]
No RTMP port specified, defaulting to 1935
Connecting to rtmp://www.gnashdev.org:1935/oflaDemo
NetConnection.onStatus called with args: 0 (object):
fmsVer=RED5/0,9,1,0 (string)
capabilities=31 (number)
description=Connection succeeded. (string)
code=NetConnection.Connect.Success (string)
level=status (string)

PASSED: RTMP connection - status Success
Running tests for NetStream.
Running test1
PASSED: typeof(netStream) == 'object' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:55]
XPASSED: typeof(netStream.audiocodec) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:58]
XPASSED: typeof(netStream.videocodec) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:59]
XPASSED: typeof(netStream.decodedFrames) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:60]
PASSED: typeof(netStream.bytesTotal) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:61]
PASSED: typeof(netStream.bytesLoaded) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:62]
XPASSED: typeof(netStream.liveDelay) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:63]
PASSED: typeof(netStream.bufferLength) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:64]
PASSED: typeof(netStream.bufferTime) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:65]
PASSED: typeof(netStream.currentFps) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:66]
PASSED: typeof(netStream.time) == 'number' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:67]
Checking after some time
FAILED: expected: '0' obtained: true [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:44]
PASSED: netStream.bufferTime == '3' [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:45]
XFAILED: expected: '0' obtained: true [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:46]
FAILED: expected: '0' obtained: true [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:47]
XFAILED: expected: '0' obtained: true [/usr/src/gnash/gnash-head/testsuite/misc-ming.all/oflaDemo.as:48]
#passed: 9
#failed: 2
#unexpected successes: 4
#expected failures: 2
#total tests run: 17
ENDOFTEST

Sandro Santilli <strk>
Project Member
Tue Aug 27 07:41:26 2013, comment #9:

Is this patch good to go or are there any issues ?

George Thomas <georgethomas>
Project MemberIn charge of this item.
Mon Aug 12 08:20:47 2013, comment #8:

Adding a new version(rtmpnew.patch) of the rtmp patch wwith test cases updated.

The testcases will run fine with the option --enable-red5-testing=<host>

hobbit_vp6 was the argument to play in the version of the red5 I used.

Let me know if more changes are required.

(file #28816)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Wed Jul 31 15:27:13 2013, comment #7:

> Unexpected failures follow:
> --=[ testsuite/actionscript.all ]=--
> FAIL: astests-v6-Runner: no onSoundComplete arrived after 3 seconds
> FAIL: astests-v6-Runner: Tests run 107 (expected 112) [ [../../../gnash/testsuite/actionscript.all/Sound.as:31]]
> [...]


bug #34375

Gabriele Giacone <gg0>
Project Member
Wed Jul 31 11:52:16 2013, comment #6:

Ran the regressing with the source checked out today. Could not find any regressions when tested with and without rtmp2.patch

As regressions are absent is this good enough to go in or what work would have to be done to ensure that the patch is better?

I was getting these failures in both cases.

Test Result Totals:
Total passes: 47631
Total unresolved: 9
Total expected failures: 1334
Total untested: 423
* Total real failures: 6

Unexpected failures follow:
--=[ testsuite/actionscript.all ]=--
FAIL: astests-v6-Runner: no onSoundComplete arrived after 3 seconds
FAIL: astests-v6-Runner: Tests run 107 (expected 112) [ [../../../gnash/testsuite/actionscript.all/Sound.as:31]]
FAIL: astests-v7-Runner: no onSoundComplete arrived after 3 seconds
FAIL: astests-v7-Runner: Tests run 107 (expected 112) [ [../../../gnash/testsuite/actionscript.all/Sound.as:31]]
FAIL: astests-v8-Runner: no onSoundComplete arrived after 3 seconds
FAIL: astests-v8-Runner: Tests run 107 (expected 112) [ [../../../gnash/testsuite/actionscript.all/Sound.as:31]]

Could not understand why these were happening.

George Thomas <georgethomas>
Project MemberIn charge of this item.
Thu Jul 11 07:39:28 2013, comment #5:

Please make sure you have an up-to-date snapshot of gnash, as we recently fixed the testsuite.

Sandro Santilli <strk>
Project Member
Thu Jul 11 06:35:25 2013, comment #4:

I ran the testsuite and found some changes and most of the FAIL's and XPASS's don't seem to be related to this patch.

I am attaching the grep ed XPASS and FAIL list from my logs. Hoping its same as yours.

The XPASS's would be realted to a fix done earlier for prototype properties.

http://git.savannah.gnu.org/cgit/gnash.git/commit/?id=3013cb00463a8222bc2a57e82601fb43a3f2bf53

(file #28537)

George Thomas <georgethomas>
Project MemberIn charge of this item.
Thu Jul 11 06:06:17 2013, comment #3:

The propereitry player does not give any sound. In Gnash the sound comes because in NetStream_as.cpp there is a line like this in the play function.

// We need to restart the audio
_audioStreamer.attachAuxStreamer();

Also the propereitry player had extra information in the object which were not present in ours. Will look into how to get this added.

audiocodec=0
videocodec=0
decodedFrames=35
bytesTotal=0
bytesLoaded=0
liveDelay=0
bufferLength=5.005
bufferTime=3
currentFps=24.9221183800623
time=1.418

George Thomas <georgethomas>
Project MemberIn charge of this item.
Fri Jul 5 17:51:13 2013, comment #2:

Attaching another version of the .as file making use of the RED5_HOST Makefile variable.

Still I can't hear any sound with the proprietary player.
Can you ?

(file #28489)

Sandro Santilli <strk>
Project Member
Tue Jun 25 10:28:13 2013, comment #1:

George, do you run the full testsuite ? Most of it requires to have libming installed, and there other other dependencies to run other portions of it. The more you have the more tests you'll be able to prove your patch against. The ./configure invocation should give you WARNING lines for missing test dependencies.

I ask because I get failure which make it hard to determine if your patch introduces new failure or new successes. See bug #39338

Sandro Santilli <strk>
Project Member
Fri Jun 21 16:22:06 2013, original submission:

The patch enabled the streaming of rtmp video when the oflaDemo.swf was run using gnash. oflaDemo.as is the testcase which made use of the oflaDemo plugin in red5 as the server.

Streamed hobbit_vp6 from the server which was the default version available there.

George Thomas <georgethomas>
Project MemberIn charge of this item.

 

Attached Files
file #29131:  rtmp.patch added by georgethomas (5kB - text/x-patch)
file #29011:  branch.patch added by georgethomas (2kB - text/x-patch)
file #29006:  oflaDemo.patch added by georgethomas (5kB - text/x-patch)
file #29004:  oflaDemo.patch added by georgethomas (4kB - text/x-patch)
file #28990:  event.patch added by georgethomas (1kB - text/x-patch)
file #28980:  hobbit_vp6.flv.meta added by georgethomas (6kB - application/octet-stream)
file #28979:  event.patch added by georgethomas (620B - text/x-patch)
file #28816:  rtmpnew.patch added by georgethomas (9kB - text/x-diff - New version of the patch for rtmp with testcases added.)
file #28537:  result.log added by georgethomas (13kB - text/x-log)
file #28489:  rtmp2.patch added by strk (8kB - text/x-diff)
file #28378:  rtmp.patch added by georgethomas (8kB - text/x-patch)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by strk (can fix the reference red5 server )
  • -unavailable- added by gg0 (Posted a comment)
  • -unavailable- added by strk (Posted a comment)
  • -unavailable- added by georgethomas (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 16 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Sat Sep 14 08:15:33 2013strkStatusIn Progress=>Done
      Open/ClosedOpen=>Closed
    Sat Sep 14 06:27:02 2013georgethomasAttached File-=>Added rtmp.patch, #29131
    Thu Sep 5 10:39:50 2013georgethomasAttached File-=>Added branch.patch, #29011
    Wed Sep 4 17:47:11 2013georgethomasAttached File-=>Added oflaDemo.patch, #29006
    Wed Sep 4 09:39:53 2013georgethomasAttached File-=>Added oflaDemo.patch, #29004
    Tue Sep 3 11:24:07 2013georgethomasAttached File-=>Added event.patch, #28990
    Tue Sep 3 09:52:55 2013strkCarbon-Copy-=>Added -unavailable-
    Mon Sep 2 18:11:33 2013georgethomasAttached File-=>Added hobbit_vp6.flv.meta, #28980
    Mon Sep 2 15:58:24 2013georgethomasAttached File-=>Added event.patch, #28979
    Mon Sep 2 13:31:11 2013strkStatusWorks For Me=>In Progress
    Fri Aug 23 06:20:18 2013georgethomasStatusDone=>Works For Me
    Mon Aug 12 08:20:46 2013georgethomasAttached File-=>Added rtmpnew.patch, #28816
    Thu Jul 11 06:35:25 2013georgethomasAttached File-=>Added result.log, #28537
    Fri Jul 5 17:51:13 2013strkAttached File-=>Added rtmp2.patch, #28489
    Fri Jun 21 16:22:06 2013georgethomasAttached File-=>Added rtmp.patch, #28378

    Back to the top


    Powered by Savane 3.1-cleanup